手势识别器问题
Gesture recognizer issues
我无法全神贯注于手势识别器。我想定位一个子视图。这是一个适用于主视图的示例:
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
选择器是一样的,我不明白。
有人知道我哪里做错了吗?
手势识别器的target
是将从手势识别器接收消息的对象。或者简单地说,就是拥有处理消息的函数的对象。
很多时候 target: 被设置为 self。
selector
是将处理消息的 function/method。
let gesture = UITapGestureRecognizer(target: self, action: #selector(openEmojis(sender:)))
gesture.delegate = self
mapView.addGestureRecognizer(gesture)
因此,当前 class/object 应该有一个名为 openEmojis
的方法。在此处将手势添加到 mapView
mapView.addGestureRecognizer(gesture)
因此,当点击地图时,应该调用您的函数。
如果您希望在点击子视图时触发手势。而是将手势识别器添加到子视图:
add_emoji_img_view.addGestureRecognizer(gesture)
我无法全神贯注于手势识别器。我想定位一个子视图。这是一个适用于主视图的示例:
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
选择器是一样的,我不明白。
有人知道我哪里做错了吗?
手势识别器的target
是将从手势识别器接收消息的对象。或者简单地说,就是拥有处理消息的函数的对象。
很多时候 target: 被设置为 self。
selector
是将处理消息的 function/method。
let gesture = UITapGestureRecognizer(target: self, action: #selector(openEmojis(sender:)))
gesture.delegate = self
mapView.addGestureRecognizer(gesture)
因此,当前 class/object 应该有一个名为 openEmojis
的方法。在此处将手势添加到 mapView
mapView.addGestureRecognizer(gesture)
因此,当点击地图时,应该调用您的函数。
如果您希望在点击子视图时触发手势。而是将手势识别器添加到子视图:
add_emoji_img_view.addGestureRecognizer(gesture)