手势识别器问题

时间:2017-05-12 15:23:24

标签: swift uitapgesturerecognizer

我在围绕手势识别器缠绕我的大脑时遇到了麻烦。我想定位一个子视图。这是一个与主视图一起使用的示例:

let gesture = UITapGestureRecognizer(target: hex_pin_view!, action: #selector(openEmojis(sender:)))
gesture.delegate = self
mapView.addGestureRecognizer(gesture)

这是子视图目标,这个剂量不起作用,是我正在寻找的:

let gesture = UITapGestureRecognizer(target: hex_pin_view!.add_emoji_img_view, action: #selector(openEmojis(sender:)))
gesture.delegate = self
mapView.addGestureRecognizer(gesture)

我收到了崩溃错误:

unrecognized selector sent to instance

选择器是相同的,我不明白。

任何人都知道我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

手势识别器的let gesture = UITapGestureRecognizer(target: self, action: #selector(openEmojis(sender:))) gesture.delegate = self mapView.addGestureRecognizer(gesture) 是将从手势识别器接收消息的对象。或者简单地说,包含将处理消息的函数的对象。

很多时候目标:设置为自己。

openEmojis是处理消息的函数/方法。

mapView.addGestureRecognizer(gesture)

那么,currrent类/对象应该有一个名为add_emoji_img_view.addGestureRecognizer(gesture) 的方法。手势将添加到mapView

{{1}}

因此,当点击地图时,应调用您的函数。

如果您希望在点击子视图时触发手势。而是将手势识别器添加到子视图中:

{{1}}