加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift3 – swift 3.0 UIBarButtonItem动作不起作用

发布时间:2020-12-14 02:28:05 所属栏目:百科 来源:网络整理
导读:let leftbarbuttonitem = UIBarButtonItem(title:"Reset",style: .plain,target: self,action: #selector(tapResetButton(_:))) func tapResetButton(_ sender:UIBarButtonItem){ count = 0 numberLabel.text = "0" } 该操作无法响应click事件.我添加了断点
let leftbarbuttonitem = UIBarButtonItem(title:"Reset",style: .plain,target: self,action: #selector(tapResetButton(_:)))

    func tapResetButton(_ sender:UIBarButtonItem){
        count = 0
        numberLabel.text = "0"

    }

该操作无法响应click事件.我添加了断点然后发现它甚至没有进入函数.我不知道我的代码有什么问题.任何答案将不胜感激.提前致谢.

Swift 3.0

在ViewDidLoad()中声明UIBarButton

override func viewDidLoad() {
    super.viewDidLoad()
    let logout: UIBarButtonItem = UIBarButtonItem.init(title: "Logout",action: #selector(ViewController.logOut))
}

func logOut() {
  print("LogOut")
}

声明UIBarButtonItem OutSide ViewDidLoad()

var logout:UIBarButtonItem = UIBarButtonItem()

override func viewDidLoad() {
        super.viewDidLoad()
        logout = UIBarButtonItem.init(title: "Logout",action: #selector(ViewController.logOut))
}

func logOut() {
      print("LogOut")
}

完全声明viewDidLoad()

lazy var logout: UIBarButtonItem = {
    UIBarButtonItem.init(title: "Logout",action: #selector(ViewController.logOut))
}()

任何应该工作.

对于action参数,您可以明确指定ViewController名称,也可以只说自己.

action: #selector(self.logOut)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读