UINavigationController與UITabbarController的樣式,uitabbarcontroller
之前雖然也手寫過這兩中視圖控制器,但是更多的還是使用SB來建立,最近發現了一些問題,現在總結一下。
1.改變UINavigationBar的顏色
在UINavigationController中,之前只需要設定UINavigationController.navigationBar.tintColor 就可以改變navigationBar的顏色了,在最新的API中蘋果對這個屬性就行了修改了。
添加了一個屬性barTintColor,以前的tintColor不再對bar的顏色產生影響,改變顏色需要用barTintColor.
2.設定UINavigationBar的title和UITabBarController下面item的文字為不同的標題
當一個視圖控制器是UINavigationController的當前控制器時,如果設定了self.title屬性,那麼當前視圖的navigationBar的title就是會自動取self.title的值。如果當前視圖控制器還在tabBarController中,那麼下面item的title也會取self.title,如果想要bar上面的文字和item的文字不一樣,那麼需要單獨的對bar上面的文字設定,即除了設定self.title 意外還要在設定self.navigationItem.title的值,來吧bar上面的標題改回來,還可以單獨設定item上的文字,self.navigationController.tabbarItem.title對該屬性修改即可。
3.自訂UINavigationBar中間視圖
UINavigationBar中有個titleView屬性,可以定製視圖來放置在中間位置,比如可以把等待指標放在這裡。
4.改變UINavigationBar title的文字樣式
UINavigationBar中有個屬性為titleTextAttributes,比如要把文字設定為18號紅色,那麼可以用NSFontAttributeName 和 NSForegroundColorAttributeName來分別設定文字樣式和顏色。