很多app中可以看到不同與導(dǎo)航欄的狀態(tài)欄的顏色,他媽的真繞嘴.
一.更改狀態(tài)欄顏色 (StatusBar)
就是比如導(dǎo)航欄是紅色的狀態(tài)欄是綠色的.
要實(shí)現(xiàn)這樣的效果其實(shí)很簡(jiǎn)單,就是添加一個(gè)背景view.
簡(jiǎn)單的實(shí)現(xiàn)過(guò)程如下:
1//設(shè)置導(dǎo)航顏色? 可用2[self.navigationController.navigationBar setBarTintColor:[UIColor redColor]];3//創(chuàng)建一個(gè)高20的假狀態(tài)欄4UIView *statusBarView = [[UIView alloc] initWithFrame:CGRectMake(0, -20, self.view.bounds.size.width,20)];5//設(shè)置成綠色6statusBarView.backgroundColor=[UIColor greenColor];7//添加到 navigationBar 上8[self.navigationController.navigationBar addSubview:statusBarView];
二.自定義 StatusBar 和 NavigationBar 的顏色
再說(shuō)一下實(shí)現(xiàn)導(dǎo)航欄的標(biāo)題的字體和顏色
效果如下:
代碼如下:
1// Attributes 屬性
2 NSDictionary? *textAttributes=@{NSForegroundColorAttributeName:[UIColor whiteColor],NSFontAttributeName:[UIFont systemFontOfSize:30]};
3//設(shè)置導(dǎo)航欄的字體大小
? 顏色
4 [self.navigationController.navigationBar setTitleTextAttributes:textAttributes];
三.隱藏 NavigationBar 和 StatusBar
效果如下:
代碼如下:
1//隱藏NavigationBar(導(dǎo)航欄)
2//[self.navigationController setNavigationBarHidden:YES];
3[self.navigationController setNavigationBarHidden:YES animated:YES];
效果如下:
代碼如下:
1//隱藏狀態(tài)欄? 重寫(xiě)prefersStatusBarHidden
2-(BOOL)prefersStatusBarHidden
3
{
?returnYES;
// yes
隱藏5
}
四.狀態(tài)欄字體顏色 白色
代碼如下:
方法一:
1//設(shè)置 狀態(tài)欄 字體白色2//默認(rèn)黑色 UIBarStyleDefault3//白色 UIBarStyleBlack ; UIBarStyleBlackOpaque ;? UIBarStyleBlackTranslucent4[self.navigationController.navigationBar setBarStyle:UIBarStyleBlack];5//[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
方法二:
1//狀態(tài)欄字體 白色 重寫(xiě)preferredStatusBarStyle 方法
2-(UIStatusBarStyle)preferredStatusBarStyle
3{
4//UIStatusBarStyleLightContent 白色
5//UIStatusBarStyleDefault? ? ? 黑色
6
returnUIStatusBarStyleLightContent;7
}
五.設(shè)置導(dǎo)航欄的背景圖片
效果如下:
代碼如下:
1//設(shè)置導(dǎo)航欄的背景圖片
2[self.navigationController.navigationBar setTranslucent:YES];//設(shè)置navigationBar的透明效果
3[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"導(dǎo)航欄背景圖片"] forBarMetrics:UIBarMetricsDefault];