Swift 3 - 事件的监听

Swift 3之前 事件的监听很简单,直接"btnClick"就可以 ,但是这样存在一定的问题,以字符串的形式进行监听,如果字符串拼写错误,编译器是编译不出来的!

btn.addTarget(self, action: "sender", for: .touchUpInside)

所以Swift 3 苹果修复了这样的bug,采用#selector()进行事件的监听

btn.addTarget(self, action: #selector(btnClick), for: .touchUpInside)

Swift 3 按钮事件监听完整代码如下 :

import UIKit

class ViewController: UIViewController {
    
    var btn:UIButton = UIButton()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        btn.frame = CGRect(x: 0, y: 0, width: 100, height: 50)
        btn.center = view.center
        btn.setTitle("点我啊", for: .normal)
        btn.setTitle("上当了吧", for: .selected)
        btn.backgroundColor = UIColor.orange
        btn.addTarget(self, action: #selector(btnClick(sender:)), for: .touchUpInside)
        view.addSubview(btn)
        
        
    }
    
}

extension ViewController{
    
    @objc fileprivate func btnClick(sender : UIButton) {
        
        sender.isSelected = !sender.isSelected
        
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,646评论 4 61
  • 2005年秋天,我转学来到那个有你的班级,但我们都没有想到的是,我们的爱情,婚姻,以后的生活都将从这一次的转学悄...
    小熊宝贝阅读 5,405评论 0 0
  • 今日有小雨,我爱死了这湿漉漉的天气。和朋友们在暖气开的充足的餐厅里吃饭聊天,感觉温馨又幸福。
    Subyfu阅读 1,207评论 0 0
  • 周末,参加了基金项目申请书撰写注意事项培训。一个人近2千的培训费,换来几点心得。 1自然科学基金题目中不要出现攻关...
    容玲阅读 3,462评论 1 2

友情链接更多精彩内容