IB Tap Gesture Recognizer 总是从 Outlet Collection 返回第一个视图
Posted
技术标签:
【中文标题】IB Tap Gesture Recognizer 总是从 Outlet Collection 返回第一个视图【英文标题】:IB Tap Gesture Recognizer always returns first view from an Outlet Collection 【发布时间】:2013-08-04 18:28:01 【问题描述】:我在连接到点击手势识别器的 IBOutletCollection 中有 3 个 UILabel。当我点击任何标签时,UITapGestureRecognizer* sender.view 始终包含集合中第一个标签的视图。
我是否偶然发现了一个错误,或者我在确定哪个标签被点击时做错了什么?
顺便说一句,我确保为代码中的所有标签启用交互(我读到了一个旧的 IB 错误),但这没有效果。
如果我断开第一个标签与手势识别器的连接,那么第二个标签总是在 sender.view 等中。
【问题讨论】:
【参考方案1】:您必须为 3 个标签设置 3 个点击手势。以编程方式进行。一种手势只能用于一种视图。用相同的@Selector
制作 3 个UITapGestureRecognizer
并将它们添加到每个UILabel
上。不用担心这不是任何错误。
【讨论】:
感谢您的快速回答。我在 IB 中添加了另外两个手势识别器,并将它们连接到相同的 IBOutlet 和 IBAction,现在一切正常。 hmmm 因为手势识别器仅适用于单个视图,您无法将其添加到多个视图中。 :)以上是关于IB Tap Gesture Recognizer 总是从 Outlet Collection 返回第一个视图的主要内容,如果未能解决你的问题,请参考以下文章
Spritekit中的Pan Gesture Recognizer移动对象
无法点击 UITableViewCell 上 CustomCell 的 Tap Recognizer
PanGesture 和 Tap Gesture 之间的冲突