我們在實際項目操作中可能會遇到這樣的需求:
- 導航欄背景顏色是一張黑色圖片(或者直接設為黑色)
- 導航欄顏色為白色
- 狀態(tài)欄顏色為亮白色
怎么快速有效的解決呢? 這就是我今天要說的內(nèi)容艺智。倘要。。
首先看第一個問題
- 導航欄背景顏色是一張黑色圖片
如果直接給導航欄對象設置背景顏色是不行的十拣,需要在 AppDelegate.h
中調(diào)用[UINavigationBar appearance] setBarTintColor
方法來設置封拧,可以直接設置顏色,當然夭问,也可以這樣
[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"nav_bar_background"]]];
設置成一張顏色圖片泽西。我這里也是黑色的背景圖片。效果就是這樣的
第二個問題
- 導航欄字體顏色設置為白色
類似于上面的方法缰趋,需要個導航欄設置TitleTextAttributes
屬性捧杉,完整代碼是這樣
[[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],NSForegroundColorAttributeName, nil ]];
這里需要注意陕见,dictionaryWithObjectsAndKeys:
后面跟的是一個字典,在寫完顏色屬性后糠溜,需要跟上一個NSForegroundColorAttributeName
淳玩,也就是字典里鍵值對的意思。
此時的效果是這樣的
關于導航欄非竿,這樣設置基本就OK了蜕着,接下來就是目前看著不太和諧的 狀態(tài)欄 。 字體設置成亮白色红柱,效果就會好很多了承匣。網(wǎng)上也有很多方法介紹,我算是嘗試總結(jié)了一下把锤悄。
第一步:在應用程序配置里這個地方選擇light
,
第二步:在工程plist文件里新增一個key韧骗,View controller-based status bar appearance
,后面選擇NO
.
第三步:Status bar style
這里選擇 UIStatusBarStyleLightContent
到這里零聚,基本設置完畢袍暴,運行效果是這樣的
當然,能力有限隶症,我也只是簡單列舉了一種設置方法政模,以后自己感覺能有其他更好的方法替代的時候,再來添加吧蚂会。