【发布时间】:2019-01-29 12:24:56
【问题描述】:
我将UITapGestureRecognizer 添加到我的UIView。但我不明白为什么我必须使用@objc 才能使用UITapGestureRecognizer。
尤其是Selector? 和#selector 之间的区别太令人困惑了。
我没有在official document of the Apple developer 中看到使用@objc 的解释。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let viw = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
viw.center = self.view.center
viw.backgroundColor = UIColor.black
self.view.addSubview(viw)
let tap = UITapGestureRecognizer(target: self, action: #selector(handleTap(sender:)))
viw.addGestureRecognizer(tap)
}
@objc func handleTap(sender: UITapGestureRecognizer) {
if sender.state == .ended {
print(1)
}
}
}
我认为这是一种古老的方式。如果有最新的方法可以将UITapGestureRecognizer 添加到UIView,我很想知道。
【问题讨论】:
标签: uitapgesturerecognizer swift4.2