我正在为 iPhone 应用程序设置 UIGestureRecognizer。我在 InterfaceBuilder 中通过将 Long Press Gesture Recognizer 从 Objects 库拖动到必须接受手势的视图来执行此操作。
在我以这种方式添加手势识别器后,它具有指向应该接受手势的视图的引用插座集合。
然后在 ViewController 我添加一个指向 GestureRecognizer 的 IBOutlet
IBOutlet UILongPressGestureRecognizer *gestRec;
以及手势识别器的相应动作
-(IBAction)longPress:(id)sender;
因此,手势识别器在界面生成器中显示出口和名为longPress:的操作之后,目标名为ControlManager
但是当我在 iPhoneSimulator 中做出长按手势时,我的程序崩溃了。当我 NSlog 我的 GestureRecognizer 的描述时,它显示以下输出:
<UILongPressGestureRecognizer: 0x6859620;
state = Possible;
view = <UIView 0x6859e20>;
target= <(action=longPress:, target=<ControlManager 0x6859af0>)>>
我认为这个问题在最后一行,它应该是这样的:
target=<ControlManager 0x6859af0>;
action=longPress:
难道我做错了什么?