2009-09-17 59 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