我們以設定右側按鈕為例,左側方法類似
方法一,直接自定義文字
[objc]view plaincopy
let item=UIBarButtonItem(title:"分享",style: UIBarButtonItemStyle.Plain,target:self,action:nil)
self.navigationItem.rightBarButtonItem=item
方法二,使用系統圖示
[objc]view plaincopy
let item1=UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done,target:self,action:nil)//此處使用的圖示UIBarButtonSystemItem是一個列舉.大家可以嘗試一下其他值出來是什麼
self.navigationItem.rightBarButtonItem=item1
方法三,使用自定義控制元件
這裡我們自定義button為例來實現
[objc]view plaincopy
let btn1=UIButton(frame: CGRectMake(0, 0, 50, 30))
btn1.setTitle("完成",forState: UIControlState.Normal)
let item2=UIBarButtonItem(customView: btn1)
self.navigationItem.rightBarButtonItem=item2
方法四,我們還可以直接放一張圖片上去
[objc]view plaincopy
var img=UIImage(named:"test_img")
let item3=UIBarButtonItem(image: img,style: UIBarButtonItemStyle.Plain,target:self,action:nil)
self.navigationItem.rightBarButtonItem=item3
如果只是按照以上方法實現,我們會發現出來的是一個純色的圖片,是因為iOS扁平化設計風格應用之後做成這樣的,如果需要現實圖片,我們可以設定一項img=img?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
以上方法都是新增一個按鈕
如果想一次新增多個該怎麼做?
我們發現我們給右側按鈕賦值的方法是 rightBarButtonItem 其實還有屬性 rightBarButtonItems
看程式碼
[objc]view plaincopy
let items1=UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Pause,target:self,action:nil)
let items2=UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Action,target:self,action:nil)
self.navigationItem.rightBarButtonItems=[items1,items2]
如果想設定左側按鈕 直接 呼叫 self.navgigationItem.leftBarButtonItem 即可