swift 3.0 UIBarButtonItem 操作无效
swift 3.0 UIBarButtonItem action not work
let leftbarbuttonitem = UIBarButtonItem(title:"Reset",style: .plain, target: self, action: #selector(tapResetButton(_:)))
func tapResetButton(_ sender:UIBarButtonItem){
count = 0
numberLabel.text = "0"
}
动作无法响应点击事件。我添加了断点然后发现它甚至没有进入函数。我不知道我的代码有什么问题。任何答案将不胜感激。提前致谢。
当我将UIBarButtonItem 的初始化放在函数viewDidLoad 之外时,action 无法响应。但是当我把它放入函数中时。有用。我不知道为什么。但问题已解决。如果你知道原因。请告诉我。谢谢。
Swift 3.0
在 ViewDidLoad() 中声明 UIBarButton
override func viewDidLoad() {
super.viewDidLoad()
let logout: UIBarButtonItem = UIBarButtonItem.init(title: "Logout", style: .plain, target: self, 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", style: .plain, target: self, action: #selector(ViewController.logOut))
}
func logOut() {
print("LogOut")
}
完全在 viewDidLoad() 之外声明
lazy var logout: UIBarButtonItem = {
UIBarButtonItem.init(title: "Logout", style: .plain, target: self, action: #selector(ViewController.logOut))
}()
任何应该工作。
对于您的操作参数,您可以明确指定 ViewController
名称,也可以只说 self
.
action: #selector(self.logOut)
let leftbarbuttonitem = UIBarButtonItem(title:"Reset",style: .plain, target: self, action: #selector(tapResetButton(_:)))
func tapResetButton(_ sender:UIBarButtonItem){
count = 0
numberLabel.text = "0"
}
动作无法响应点击事件。我添加了断点然后发现它甚至没有进入函数。我不知道我的代码有什么问题。任何答案将不胜感激。提前致谢。
当我将UIBarButtonItem 的初始化放在函数viewDidLoad 之外时,action 无法响应。但是当我把它放入函数中时。有用。我不知道为什么。但问题已解决。如果你知道原因。请告诉我。谢谢。
Swift 3.0
在 ViewDidLoad() 中声明 UIBarButton
override func viewDidLoad() {
super.viewDidLoad()
let logout: UIBarButtonItem = UIBarButtonItem.init(title: "Logout", style: .plain, target: self, 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", style: .plain, target: self, action: #selector(ViewController.logOut))
}
func logOut() {
print("LogOut")
}
完全在 viewDidLoad() 之外声明
lazy var logout: UIBarButtonItem = {
UIBarButtonItem.init(title: "Logout", style: .plain, target: self, action: #selector(ViewController.logOut))
}()
任何应该工作。
对于您的操作参数,您可以明确指定 ViewController
名称,也可以只说 self
.
action: #selector(self.logOut)