2013-05-01 76 views
0

我創建了一個條形圖。如果你點擊一個單獨的欄,它將創建一個新的UIView顯示一些信息。用條形圖觸摸事件

我希望能夠將我的手指拖過酒吧並讓該信息視圖彈出。

我該如何處理該類型的觸摸事件?它不是新聞,但當觸摸剛剛進入酒吧的區域?

每個酒吧是一個UIControl一個UIView來處理觸摸事件:

UIControl *control = [[UIControl alloc] init]; 
control.translatesAutoresizingMaskIntoConstraints = FALSE; 
[control addTarget:self action:@selector(tapDetected:) forControlEvents:UIControlEventTouchUpInside]; 

[barView addSubview:control]; 

[barView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[control]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(control)]]; 
[barView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[control]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(control)]]; 

我試圖改變forControlEvents:UIControlEventTouchDown但作用一樣UIControlEventTouchUpInside

回答

0

UIControlEventTouchDragEnter應該做你正在尋找的東西。從UIControl類參考:

UIControlEventTouchDragEnter
其中手指拖入 的控制的範圍有關的事件。
Available in iOS 2.0及更高。
聲明於 UIControl.h。

編輯
當然,這可能是導致問題的另一件事是,你直接實例UIControl對象,你不應該做的事。從UIControl Class Reference

您不能直接使用UIControl類來實例化控件。 它反而爲它的所有子類定義了通用接口和行爲結構。

UIControl的主要作用是定義一個接口和基礎實現,用於準備動作消息並在發生某些事件時將它們初始分派到其目標。

嘗試使用UIButton而不是使用適當設置的屬性使其行爲更少按鈕ish,並查看您的事件是否被解僱。

+0

我無法在任何類型的觸摸或拖動中觸發此功能。 – Padin215 2013-05-01 17:55:08

+0

答覆更新... – davidf2281 2013-05-01 21:28:17