2009-09-17 102 views
0

我需要知道使用哪種方法來識別點擊/鼠標click.I 知道的觸摸/自來水
- (空)的touchesBegan:(NSSet中*)觸及withEvent:方法(*的UIEvent )event {}
- (void)touchesMoved:(NSSet *)與事件觸發:(UIEvent *)事件{}如何識別iPhone屏幕

當光標移動時觸發。 但我想做以下事情 -

我有一個圖像。 當我點擊它,類似的兩個圖像將被創建。等等

任何人都可以幫助????先進的比你的答覆。

+0

您問題的引用部分沒有通過正確的,所以我不知道你想問什麼。 – 2009-09-17 18:19:31

+0

你的問題的標題是誤導性的;這與Objective-C幾乎沒有任何關係,並且都與CocoaTouch有關。 – 2009-09-18 00:29:04

回答

0

敲擊事件不是由UIView中的觸摸方法回調處理的,而是作爲目標--中的操作處理的。 UIControlUIView的子類,併爲抽頭,拖動和其他常見用戶操作添加抽象,以便您不需要自己實現邏輯。

要爲用戶添加一個動作敲擊控制簡單地做到這一點:

[myControl addTarget:self 
       action:@selector(didSelectFoo:) 
      forEvents:UIControlEventTouchUpInside]; 

這是使用兩個,如果你繼承UIControl自己,或者如果你使用任何諸如UIButtonUITextField所提供的控制, UILabel

+0

這不完全正確。通過覆蓋-touchesBegin:withEvent:,-touchesMoved:withEvent :, -touchesEnded:withEvent :,和-touchesCancelled:withEvent:,或者一個控制器對象可以通過委託方法管理這些觸摸事件,UIView子類的確可以響應觸摸事件。相同的接口。 – 2009-09-17 18:23:08

+0

布拉德我想你錯過了_「這樣你就不需要自己實現邏輯了」。是的,您可以重寫'touchedBegan:withEvent:',其餘部分也放在'UIControl'子類中。但是,整個想法是,對於100個用例中的99個,您不需要。 – PeyloW 2009-09-17 22:44:50

+0

短語「輕敲事件不是由UIView中的touches方法回調處理,而是作爲目標 - UIControl中的操作」似乎表示UIView無法通過子類化或通過委派來響應觸摸事件。通過委派,甚至不需要將代碼添加到UIView。這只是一個措辭問題,可能會讓一個新的iPhone開發者感到困惑。 – 2009-09-19 14:45:19