UINavigationController定制

先设置整个app的导航栏的通用属性,自定义一个UINavigationController:

class RootNavigationController: UINavigationController {

    override func viewDidLoad() {

        super.viewDidLoad()

        //设置导航栏背景颜色,只能用图片

        navigationBar.setBackgroundImage(UIImage(named: "navibac")?.imageWithRenderingMode(.AlwaysOriginal), forBarMetrics: .Default)

        //设置标题的字体颜色

        navigationBar.titleTextAttributes = [NSForegroundColorAttributeName:UIColor(white: 1.0, alpha: 1.0)]

        //设置左右两边item的文字(图片)的颜色

        navigationBar.tintColor = UIColor(r: 248, g: 160, b: 60)

    }

}

 在某个UIViewController设置特定的属性:

class HomeViewController: UIViewController {

    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        //设置左item的图片
        navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "close"), style: UIBarButtonItemStyle.Plain, target: self, action:Selector("back"))
        //设置右边item的文字和回掉函数
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "更多", style: .Plain, target: self, action: nil)
        //设置标题
        navigationItem.title = "Home"
    }
    
    func back(){
        print("back")
    }
}

效果图下:

I am not doing shit today !
原文地址:https://www.cnblogs.com/mogul/p/5133591.html