【发布时间】:2014-08-29 18:01:33
【问题描述】:
如何在 Swift 中设置自定义 UIBarButtonItem 的操作?
以下代码成功将按钮放置在导航栏中:
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:nil)
self.navigationItem.rightBarButtonItem = b
现在,我想在按下按钮时拨打func sayHello() { println("Hello") }。到目前为止我的努力:
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:sayHello:)
// also with `sayHello` `sayHello()`, and `sayHello():`
和..
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:@selector(sayHello:))
// also with `sayHello` `sayHello()`, and `sayHello():`
和..
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:@selector(self.sayHello:))
// also with `self.sayHello` `self.sayHello()`, and `self.sayHello():`
请注意,sayHello() 出现在智能感知中,但不起作用。
感谢您的帮助。
编辑:为了后代,以下作品:
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:"sayHello")
【问题讨论】:
-
您只需将选择器放入字符串
action: "sayHello"即可快速传递选择器 -
非常感谢。我迫于压力要解决这个问题并且感到沮丧。
-
此问题之前被标记为与@selector() in Swift? 重复。但是,这个问题专门询问
UIBarButtonItem而另一个没有。要求初学者概括selector的所有用法对他们来说可能很困难,所以我删除了重复状态,以便人们可以及时更新这个问题。
标签: ios swift action uibarbuttonitem