swift導(dǎo)航欄的設(shè)置

1. 利用系統(tǒng)的方法來創(chuàng)建UIBarButtonItem

    //navigationController?.navigationBar.tintColor = UIColor.orange
    navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注冊", style: UIBarButtonItemStyle.plain, target: self,action: #selector(BaseViewController.registerWillClick))
    navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登錄", style: UIBarButtonItemStyle.plain, target: self,action: #selector(BaseViewController.logionWillClick))

2. 設(shè)置導(dǎo)航條和工具條的外觀,因?yàn)橥庥^設(shè)定全局有效,所以應(yīng)該在程序一進(jìn)來就設(shè)定,在AppDelegate里面設(shè)施

    UINavigationBar.appearance().tintColor = UIColor.orange
    UITabBar.appearance().tintColor = UIColor.orange

3.帶圖片的導(dǎo)航條內(nèi)容 (一)

帶圖片的導(dǎo)航條內(nèi)容
// MARK: 初始化導(dǎo)航條內(nèi)容
private func setUpNav(){

    navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named:"navigationbar_friendattention"),style:UIBarButtonItemStyle.plain,target:self,action:#selector(HomeViewController.KK))

}

@objc private func KK(){

   print("點(diǎn)擊了左邊")
    
}

4.帶圖片的導(dǎo)航條內(nèi)容: 利用button (二)

帶圖片的導(dǎo)航條內(nèi)容: 利用button
 let leftBtn = UIButton()
 leftBtn.setImage(UIImage(named: "navigationbar_friendattention"), for: UIControlState.normal)
 leftBtn.setImage(UIImage(named: "navigationbar_friendattention_highlighted"), for: UIControlState.highlighted)
    
 leftBtn.addTarget(self, action: #selector(HomeViewController.leftAction), for: UIControlEvents.touchUpInside)
 // button自適應(yīng)大小
 leftBtn.sizeToFit()
 navigationItem.leftBarButtonItem = UIBarButtonItem(customView:leftBtn)
 // 2.定義右邊的按鈕
 let rightBtn = UIButton()
 rightBtn.setImage(UIImage(named: "navigationbar_pop"), for: UIControlState.normal)
 rightBtn.setImage(UIImage(named: "navigationbar_pop_highlighted"), for: UIControlState.highlighted)
 // button自適應(yīng)大小
 rightBtn.sizeToFit()
 rightBtn.addTarget(self, action: #selector(HomeViewController.rightAction), for: UIControlEvents.touchUpInside)
 navigationItem.rightBarButtonItem = UIBarButtonItem(customView:rightBtn)

@objc private func leftAction(){

   print("點(diǎn)擊了左邊")
    
}

@objc private func rightAction(){

    print("點(diǎn)擊了右邊")

}

5. UIBarButtonItem 在控制器里面的封裝

 1.封裝
// MARK: 導(dǎo)航欄方法的封裝
private func create(name: String,target: Any?, action: Selector) -> UIBarButtonItem{

    let rightBtn = UIButton()
    rightBtn.setImage(UIImage(named: name), for: UIControlState.normal)
    rightBtn.setImage(UIImage(named: name + "_highlighted"), for: UIControlState.highlighted)
    // button自適應(yīng)大小
    rightBtn.sizeToFit()
    rightBtn.addTarget(target, action: action, for: UIControlEvents.touchUpInside)
    return UIBarButtonItem(customView:rightBtn)

}
2.方法的實(shí)現(xiàn)
 @objc private func leftActi1on(){

    print("點(diǎn)擊了左邊")
    
 }
 3.調(diào)用
  navigationItem.leftBarButtonItem = create(name: "navigationbar_friendattention", target: self, action: #selector(HomeViewController.leftActi1on))

6. UIBarButtonItem 類目的封裝

 // 1.類目的創(chuàng)建
 import UIKit
 extension UIBarButtonItem{
 class func createBarbuttonItem(name: String,target: Any?, action: Selector) -> UIBarButtonItem{

    let rightBtn = UIButton()
    rightBtn.setImage(UIImage(named: name), for: UIControlState.normal)
    rightBtn.setImage(UIImage(named: name + "_highlighted"), for: UIControlState.highlighted)
    // button自適應(yīng)大小
    rightBtn.sizeToFit()
    rightBtn.addTarget(target, action: action, for: UIControlEvents.touchUpInside)
    return UIBarButtonItem(customView:rightBtn)

    }
 }
 // 2. 調(diào)用類的封裝來創(chuàng)建 UIBarButtonItem
 navigationItem.leftBarButtonItem = UIBarButtonItem.createBarbuttonItem(name: "navigationbar_friendattention", target: self, action: #selector(HomeViewController.leftAction))
 // 3.方法的實(shí)現(xiàn)
 @objc private func leftAction(){

    print("點(diǎn)擊了左邊")
    
 }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,167評論 25 708
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,422評論 4 61
  • 東北的風(fēng)很有特點(diǎn),一年刮兩次,一次刮半年,我的頭也有特點(diǎn),禁不起風(fēng)吹日曬,大風(fēng)和強(qiáng)烈的紫外線必使我腦袋一直...
    電影陳列室閱讀 1,436評論 0 0
  • 如果我們成為自己目光里的一盆盆景,那就算是冬風(fēng)我也可以本能地親近。難得灰塵和雞毛撣子 相遇,因?yàn)樾★L(fēng)吹進(jìn)凳子底下,...
    李一十八閱讀 701評論 0 1

友情鏈接更多精彩內(nèi)容