【发布时间】:2017-07-02 02:46:08
【问题描述】:
我希望在我的视图中添加如下手势:
override func viewDidLoad() {
super.viewDidLoad()
< blah blah blah >
// Add tap gesture
let tap = UITapGestureRecognizer(target: self, action: #selector(handleTap))
myView.addGestureRecognizer(tap)
}
但是,在 Swift 4 中,我的编译器给了我以下错误:
Argument of '#selector' refers to instance method 'handleTap()' that is not exposed to Objective-C
建议添加@objc 以将此实例方法公开给Objective-C。
实现此功能的另一个选项(仅通过代码)是覆盖 touchesBegan() 函数并使用它来处理点击。
我试图以“Swift”的方式做到这一点,而不必引入 Obj-C。有没有一种纯粹的 Swift 方法可以在不使用 @objc 的情况下添加这个轻击手势?或者这是添加此点击手势的正常和预期方式?
【问题讨论】:
标签: ios objective-c swift xcode swift4