NavigationBar&tabBar調(diào)色那些事兒

Paste_Image.png

1. 導(dǎo)航欄調(diào)色那些事兒

小規(guī)律:

  • 要設(shè)置內(nèi)容彼城,全找item
  • 要修改顏色及文字屬性,找bar

1.1 改變 NavigationBar 的背景顏色

[UINavigationBar appearance].barTintColor = [UIColor blueColor];
//如果使用的是backgroundColor退个,就會(huì)自帶毛玻璃效果
self.navigationBar.backgroundColor = [UIcolor blueColor];

1.2 改變 NavigationBar 的字體顏色

NavigationBar 上面有兩處可以改變字體顏色募壕,一是標(biāo)題,二是左右按鈕的文字语盈。

1.2.1 改變左右按鈕的文字顏色:

[UINavigationBar appearance].tintColor = [UIColor whiteColor];

1.2.2 改變標(biāo)題的文字顏色

  • 字典對(duì)應(yīng)了一個(gè)系統(tǒng)自帶的KEY舱馅,就是
    • 1,NSFontAttributeName:表示要穿一個(gè)字體UIFont
    • 2刀荒,NSForegroundColorAttributeName:表示要傳一個(gè)顏色
[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}];

1.3 去掉 NavigationBar 下方的陰影

iOS 7 NavigationBar的下方默認(rèn)是有一條陰影的代嗤,如果想要 NavigationBar 和下面內(nèi)容的背景顏色融為一體的話,就要去掉這個(gè)陰影缠借。- 這里需要注意的是干毅,如果圖片傳入的是nil,依然還會(huì)添加默認(rèn)的陰影線泼返。

  • 系統(tǒng)判斷是否出現(xiàn)陰影線的標(biāo)準(zhǔn)是:是否傳入照片硝逢。所以我們用[UIImage new]創(chuàng)建了一個(gè)空照片(不是nil)。
[[UINavigationBar appearance] setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];[[UINavigationBar appearance] setShadowImage:[UIImage new]];

1.4 改變 TabBar 的字體顏色

[UITabBarItem.appearance setTitleTextAttributes: @{ NSForegroundColorAttributeName : [UIColor blueColor] } forState:UIControlStateNormal];
[UITabBarItem.appearance setTitleTextAttributes: @{ NSForegroundColorAttributeName : [UIColor whiteColor] } forState:UIControlStateSelected];

1.5 改變 StatusBar 的顏色

iOS7以后绅喉,status bar 的背景顏色變成了透明色渠鸽,而且系統(tǒng)會(huì)根據(jù) app的顏色自動(dòng)改變 status bar 的字體顏色(黑和白)。但是這個(gè)自動(dòng)改變的字體顏色并不一定和所有的 app 都搭配霹疫,比如我們 app 的主題色是稍微淺一丟丟的藍(lán)拱绑,但是系統(tǒng)匹配的 status bar 的字體顏色就是黑色,看起來(lái)就很不爽丽蝎,所以就要強(qiáng)制將其改為白色猎拨。

  • 方法一: 在 Info.plist 中的 Information Property List 中添加一個(gè) Key為View controller-based status bar appearance的 item,其 Type 設(shè)為 Boolean屠阻,Value 設(shè)為 NO
  • 方法二: 然后在AppDelegate.mapplication:didFinishLaunchingWithOptions:中添加突下設(shè)置:
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

1.6 隱藏 StatusBar

有時(shí)候?yàn)榱藢?shí)現(xiàn)沉浸式設(shè)計(jì)红省,比如 app 首次打開的引導(dǎo)頁(yè),需要隱藏整個(gè) StatusBar国觉,方法如下:

  • 狀態(tài)欄的高度是20
  • 方法一: 和改變 StatusBar 顏色一樣吧恃,在 Info.plist 中的 Information Property List 中添加一個(gè) Key為View controller-based status bar appearance的 item,其 Type 設(shè)為 Boolean麻诀,Value 設(shè)為 NO
  • 方法二: 在需要隱藏StatusBar 的 ViewController 中的viewDidLoad加入以下代碼:
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { [self prefersStatusBarHidden]; [self setNeedsStatusBarAppearanceUpdate]; }
  • 方法三: 重寫prefersStatusBarHidden:
-(BOOL)prefersStatusBarHidden { return YES;}
  • 如果子控制器需要控制狀態(tài)欄痕寓,在全局導(dǎo)航欄控制器下面還需要增加以下方法:
- (UIViewController *)childViewControllerForStatusBarStyle{
   return self.topViewController;
}

1.7 給導(dǎo)航欄設(shè)置一張背景圖片

  • 這張背景圖片系統(tǒng)默認(rèn)的高度是64
 [self.navigationBar setBackgoundImage:[UIImage imageNamed:@"navBar"] forBarMetrics:UIBarMetricsDefault];

1.8 導(dǎo)航欄的半透明效果

  • 如果設(shè)置成NO傲醉,tableView就從狀態(tài)欄下面開始。
  • 如果是YES呻率,就帶了毛玻璃效果硬毕,tableView就從屏幕的左上角開始了。
  • 導(dǎo)航欄的默認(rèn)高度是44.
self.navigationBar.translucent = YES;

1.9 自定義頭部View

self.navigationItem.titleView = [[UILabel alloc] init]; 

2. 標(biāo)簽欄TableBar那些事兒

2.1 調(diào)色

可以完全參考導(dǎo)航欄的礼仗,幾乎雷同吐咳。

2.2 關(guān)閉半透明效果

  • 一旦關(guān)閉標(biāo)簽欄的半透明效果,控制器的view就不會(huì)到達(dá)屏幕最底部了元践,而是到了標(biāo)簽欄的緊上方韭脊。
  • 標(biāo)簽欄的默認(rèn)高度是49.
self.tabBar.translucent = NO;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市单旁,隨后出現(xiàn)的幾起案子沪羔,更是在濱河造成了極大的恐慌,老刑警劉巖慎恒,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件任内,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡融柬,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門趋距,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)粒氧,“玉大人,你說(shuō)我怎么就攤上這事节腐⊥舛ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵翼雀,是天一觀的道長(zhǎng)饱苟。 經(jīng)常有香客問(wèn)我,道長(zhǎng)狼渊,這世上最難降的妖魔是什么箱熬? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮狈邑,結(jié)果婚禮上城须,老公的妹妹穿的比我還像新娘。我一直安慰自己米苹,他們只是感情好糕伐,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蘸嘶,像睡著了一般良瞧。 火紅的嫁衣襯著肌膚如雪陪汽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天褥蚯,我揣著相機(jī)與錄音挚冤,去河邊找鬼。 笑死遵岩,一個(gè)胖子當(dāng)著我的面吹牛你辣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尘执,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼舍哄,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了誊锭?” 一聲冷哼從身側(cè)響起表悬,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丧靡,沒(méi)想到半個(gè)月后蟆沫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡温治,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年饭庞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熬荆。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舟山,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出卤恳,到底是詐尸還是另有隱情累盗,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布突琳,位于F島的核電站若债,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拆融。R本人自食惡果不足惜蠢琳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冠息。 院中可真熱鬧挪凑,春花似錦、人聲如沸逛艰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至菇绵,卻和暖如春肄渗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咬最。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工翎嫡, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人永乌。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓惑申,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親翅雏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子圈驼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容