为了找到swift的写法也挺痛苦的 因为要加@objc 但是个人感觉一点都不swift 可能其原理是运用了oc的运行时特行使其无法完全swift化
下面介绍两种写法
override func viewDidLoad() {
super.viewDidLoad()
let btn:UIButton = UIButton.init(type: .custom)
btn.setTitle("test", for: .normal)
btn.backgroundColor = UIColor.red
btn.frame = CGRect.init(x: 0, y: 100, width: 100, height: 100)
//方法一
btn.addTarget(self, action: #selector(btnClick), for: .touchUpOutside)
//方法二
btn.addTarget(self, action: Selector(("btnClick")), for: .touchUpInside)
view.addSubview(btn)
}
@objc func btnClick() {
print("出发点击事件")
}
方法二 如果只写一个小括号会有警告的 写两个就可以了,系统提示这么写的,手势等其他用法一样。
网友评论