Override func viewDidLoad(){
super.viewDidLoad()
let button = UIButton(type:.system)
button.frame = CGRect(x:40,y:100,width:240,height:30)
button.backgroundColor = UIColor.red
button.setTitle("点击一下",for:.normal)
button.addTarget(self,action:#selector(changeColor),for:.touchUpInside)
self.view.addSubview(button)
}
@objc private func changeColor(){
Self.view.backgroundColor = UIColor.yellow
}
在swift4.0中无论是否有参数的传递,只要在调用的方法前面添加关键字(@Objc),并将方法的访问权限设置成私有。
注:对于button来说,有直接的addTarget的方法直接添加点击动作。但是对于label,却无法直接添加addTarget方法,需要添加手势,才能有动作。