lass ViewController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.whiteColor()
self.title = "xxx"
self.navigationItem.title = "xxx"
// self.navigationBar.backgroundColor = UIColor.orangeColor()
let navBarItem = UINavigationItem(title: "xxx")
// self.navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Action, target: self, action: "xx")
// self.navigationBar.pushNavigationItem(navBarItem, animated: true)
// self.navigationBar.setItems([navBarItem], animated: false)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
无论是通过 self.title 还是 navigationItem.title 设置标题都无效,包括下面注释掉的部分,设置都无效。
但 navigationBar.backgroundColor 有颜色效果。 我想问的是,既然无法通过继承来设置这些元素,那么为什么要将这个类开放让开发者可继承?
我的目的是一个 UINavBar 的 first item 是上述 ViewController,因为其本身是一个 NavigationViewController 了,所以就不用包装了,比如 let navigation = UINavigationController(rootViewController: ViewController)
还有就是继承自 UITabBarController 的 ViewController 却可以直接设置其 TabBarItem。为什么继承上述 ViewController 缺不行?