一另玖、有關(guān)狀態(tài)欄的隱藏
1.1忠售、方式一:提示:控制器之間的狀態(tài)欄不會(huì)相互影響?(下面是?iOS9?之后的設(shè)置,不支持 iOS 9以前設(shè)備)
<1>仿便、在info.plist里面添加下面代碼為YES
View controller-based status bar appearance
need-to-insert-img
<2>体啰、在控制器里面定義一個(gè)屬性
@property(nonatomic,assign) BOOL statusHiden;
<3>、重寫(xiě)狀態(tài)欄的一個(gè)方法
- (BOOL)prefersStatusBarHidden{? ? return self.statusHiden; }
<4>嗽仪、改變狀態(tài)欄的隱藏與顯示
隱藏狀態(tài)欄
self.statusHiden = YES;// 刷新?tīng)顟B(tài)欄[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
顯示狀態(tài)欄
self.statusHiden = NO;// 刷新?tīng)顟B(tài)欄[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
二荒勇、有關(guān)狀態(tài)欄樣式設(shè)置
2.1、狀態(tài)欄樣式
typedef NS_ENUM(NSInteger, UIStatusBarStyle) {? ? //默認(rèn)樣式闻坚,黑字透明狀態(tài)欄沽翔,適合用于背景色為亮色的頁(yè)面? ? UIStatusBarStyleDefault? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? = 0, // Dark content, for use on light backgrounds? ? //白字透明狀態(tài)欄,適合用于背景色為暗色的頁(yè)面? ? UIStatusBarStyleLightContent? ? NS_ENUM_AVAILABLE_IOS(7_0) = 1, // Light content, for use on dark backgrounds? ? // iOS7.0以前黑底白字窿凤,iOS7以后跟UIStatusBarStyleLightContent效果一樣? ? UIStatusBarStyleBlackTranslucent NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 1,? ? // iOS7.0以前啟動(dòng)頁(yè)為灰底白字仅偎,iOS7以后跟UIStatusBarStyleLightContent效果一樣? ? UIStatusBarStyleBlackOpaque? ? ? NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 2, } __TVOS_PROHIBITED;
2.2、方式一:提示:控制器之間的狀態(tài)欄不會(huì)相互影響?(下面是?iOS9?之后的設(shè)置雳殊,不支持?iOS 9?以前設(shè)備)
<1>橘沥、在info.plist里面添加下面代碼為YES
View controller-based status bar appearance
<2>、在控制器里面定義一個(gè)屬性
@property(nonatomic,assign) NSInteger barStyle;
<3>夯秃、重寫(xiě)狀態(tài)欄樣式的一個(gè)方法
// 狀態(tài)欄的樣式- (UIStatusBarStyle)preferredStatusBarStyle{? ? return self.barStyle;}
<4>座咆、改變狀態(tài)欄的隱藏與顯示
狀態(tài)欄黑色樣式
self.barStyle = UIStatusBarStyleDefault;[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
狀態(tài)欄白色樣式
self.barStyle = UIStatusBarStyleLightContent;[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
三、提示
3.1仓洼、info.plist文件中箫措,View controller-based status bar appearance項(xiàng)設(shè)為YES,則View controller對(duì)status bar的設(shè)置優(yōu)先級(jí)高于application的設(shè)置衬潦。
為NO則以application的設(shè)置為準(zhǔn)斤蔓,view controller的prefersStatusBarHidden以及preferredStatusBarStyle方法無(wú)效,是根本不會(huì)被調(diào)用的镀岛。