如何为 UITapGestureRecognizer 从不同的 UIView 对象设置选择器
Posted
技术标签:
【中文标题】如何为 UITapGestureRecognizer 从不同的 UIView 对象设置选择器【英文标题】:how to set up a selector from a different UIView object for UITapGestureRecognizer 【发布时间】:2015-06-29 05:51:30 【问题描述】:这应该是直截了当的,但我遇到了一些问题。 我有一个 UIView A,它有一个函数 A。我在 UIView A 中为函数 A 创建了一个选择器。
SEL littleSelector = @selector(handleTapButton1);
我创建 UIView B 并将此选择器传递给 UIView B 构造函数并将其保存在 UIView B 中。我在 UIView B 中设置了 UITapGestureRecognizer 并从 UIViewA “littleSelector”分配选择器作为其操作。我收到一个异常 = 无法识别的选择器发送到实例。我知道选择器并不是真正的函数指针,而是查找数字。我还确保保留 UIView A。
有什么想法吗?
【问题讨论】:
【参考方案1】:选择器需要与适当的目标配对。如果您为 A 提供选择器和 B 的目标实例,您将遇到此类问题。您需要将目标正确设置为 A,以便在正确的类实例上调用选择器表示的方法。
【讨论】:
我正在这样做,但我只是在调用 self.superview。什么也没发生(也没有崩溃)。我将一个实例传递给 UIViewA 到 UIViewB 我正在这样做,但我只是在调用 self.superview。什么也没发生(也没有崩溃)。我将一个实例传递给 UIViewA 到 UIViewB,而不是调用 self.superview 我调用了 self.parent(我传递的 A 的实例)并且它起作用了。谢谢。以上是关于如何为 UITapGestureRecognizer 从不同的 UIView 对象设置选择器的主要内容,如果未能解决你的问题,请参考以下文章
如何为 RecyclerView 设置 onItemClickListener? [复制]