(Xcode6,iOS8,iPhone,Swift)
我想在导航栏的右侧添加一个“继续”按钮。
如何实现这一目标?我一直在尝试使用UIBarButtonItem上的一些方法,但无法使其正常工作。
我迄今为止的最大努力是:
var b = UIBarButtonItem(title: "Continue", style: UIBarButtonItemStyle, target: self, action: nil)
self.navigationItem.rightBarButtonItem = b
但我在第一行收到错误。它不喜欢“style”参数。我也试过了
var b = UIBarButtonItem(title: "Continue", style: UIBarButtonItemStylePlain, target: self, action: nil)
但没有运气。仍然停留在样式参数上。有任何想法吗? tyvm Keith:D
编辑:对于子孙后代,以下行还包含action
设置:
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action:"sayHello")
答案 0 :(得分:10)
enum UIBarButtonItemStyle : Int {
case Plain
case Bordered
case Done
}
所以你不应该写' UIBarButtonItemStyle',而是使用' .Plain' (注意单词前面的点):
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action: nil)
要向按钮添加实际操作,请使用以下内容(假设方法sayHello()存在):
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action: Selector("sayHello"))
编辑:代码中的错误
答案 1 :(得分:2)
Swift中的枚举与ObjC完全不同,以非常好的方式:]
在这里你需要使用:
UIBarButtonItemStyle.Plain
你也可以这样做:
var b = UIBarButtonItem(title: "Continue", style: .Plain, target: self, action: nil)
为了最简单!
旁注:尽可能使用let
代替var
,对性能,健康等有所帮助!