使用 navigationItem.leftBarButtonItem 和 navigationItem.rightBarButtonItem 可以很方便的分別設定導覽列左側和右側按鈕,但一側只能有一個按鈕。
如果想要在一側使用多個按鈕,可以通過 leftBarButtonItems 和 rightBarButtonItems 來實現。
下面示範給導覽列右側添加兩個按鈕(搜尋和設定):
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//搜尋按鈕
let button1 = UIButton(frame:CGRectMake(0, 0, 18, 18))
button1.setImage(UIImage(named: "search"), forState: .Normal)
button1.addTarget(self,action:Selector("tapped1"),forControlEvents:.TouchUpInside)
let barButton1 = UIBarButtonItem(customView: button1)
//設定按鈕
let button2 = UIButton(frame:CGRectMake(0, 0, 18, 18))
button2.setImage(UIImage(named: "settings"), forState: .Normal)
button2.addTarget(self,action:Selector("tapped2"),forControlEvents:.TouchUpInside)
let barButton2 = UIBarButtonItem(customView: button2)
//按鈕間的空隙
let gap = UIBarButtonItem(barButtonSystemItem: .FixedSpace, target: nil,
action: nil)
gap.width = 15;
//用於消除右邊邊空隙,要不然按鈕頂不到最邊上
let spacer = UIBarButtonItem(barButtonSystemItem: .FixedSpace, target: nil,
action: nil)
spacer.width = -10;
//設定按鈕(注意順序)
self.navigationItem.rightBarButtonItems = [spacer,barButton2,gap,barButton1]
}
func tapped1(){
print("搜尋按鈕點擊")
}
func tapped2(){
print("設定按鈕點擊")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
好了以上就是關於ios開中導覽列的放多個按鈕的例子。