点击手势识别器不会瞄准动作
Posted
技术标签:
【中文标题】点击手势识别器不会瞄准动作【英文标题】:tap gesture recognizer won't target-action 【发布时间】:2013-06-21 22:02:09 【问题描述】:我在 UICollectionView 中添加了一个点击手势识别器,但是当我尝试通过控件拖动来定位操作到控制器的实现中时,点击手势识别器不会添加方法。关于可能发生的事情有什么想法吗?
【问题讨论】:
其实我的错。删除了我的答案。我刚刚检查过,您显然可以直接控制拖动到@implementation。不知道为什么这对你不起作用。 【参考方案1】:以下两项必须为真:
您必须确保您已在 Interface Builder 中指定了子类(例如,如果将此方法放在您的视图控制器中,请确保您在 Interface Builder 中为您的场景指定了视图控制器的子类);
如果将操作链接到现有的,则该方法必须在类的实现中,因为您的“返回类型”必须为IBAction
(它的行为类似于void
,但您必须指定IBAction
否则IB不会让你链接动作),例如:
- (IBAction)handleTap:(UITapGestureRecognizer *)gesture
// do whatever I want to handle the tap here
如果方法指定了void
或其他返回类型,Interface Builder 将不允许您建立连接。
就我个人而言,我首先在 Interface Builder 中开发 UI 元素,然后控制拖动到 @interface
并让 Interface Builder 实际上为我添加一个实现的接口和外壳,然后将我的代码添加到其中。
【讨论】:
原来我的控制器有错误的类,所以我修复了这个问题,现在我可以拖动并创建一个 IBAction,但我仍然无法连接到返回 IBAction 的预先存在的 Target-Action 方法?跨度> @user2076774 每当我偶然发现这些问题时,总是无法正确指定子类或不正确的方法签名(例如IBAction
返回类型和一个参数)。如果没有看到方法定义或您的项目,很难说出您的项目中发生了什么。如果你把它上传到某个地方,我很乐意看看。
嘿,这似乎是 Xcode 的一个错误,因为我重新启动了 Xcode 并且它工作了!不过,您设法帮助了我,所以谢谢!以上是关于点击手势识别器不会瞄准动作的主要内容,如果未能解决你的问题,请参考以下文章
MpMovieplayerController 点击手势识别器在全屏时不会触发