之前雖然也手寫過這兩中視圖控制器,但是更多的還是使用SB來創(chuàng)建,最近發(fā)現(xiàn)了一些問題,現(xiàn)在總結一下。
1.改變UINavigationBar的顏色
在UINavigationController中,之前只需要設置UINavigationController.navigationBar.tintColor 就可以改變navigationBar的顏色了,在最新的API中蘋果對這個屬性就行了修改了。
添加了一個屬性barTintColor,以前的tintColor不再對bar的顏色產(chǎn)生影響,改變顏色需要用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來分別設置文字樣式和顏色。
新聞熱點
疑難解答