*StatusBar隱藏的兩種需求:
1.要求所有頁面
的狀態(tài)欄, 都隱藏
2.僅特別指定的某一個頁面
的狀態(tài)欄實現隱藏
*實現步驟
需求1.隱藏所有頁面的狀態(tài)欄
# step1: 在工程的info.plist文件中, 添加`View controller-based status bar appearance`-->值為: `NO`
# step2: 在AppDelegate文件中, 實現下面方法
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
//該方法已被棄用, 但仍有效果
注釋: 在info.plist文件的設置, 表示狀態(tài)欄的隱藏設置以appdelegate設置為準, controller中的方法不會只執(zhí)行
需求2.僅特別指定的某一個頁面的狀態(tài)欄實現隱藏
# step1: 在工程的info.plist文件中, 添加View controller-based status bar appearance-->值為: YES
# step2: 在指定的controller文件中, 實現下面方法
//在試圖將要已將出現的方法中
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
//調用隱藏方法
[self prefersStatusBarHidden];
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
}
//實現隱藏方法
- (BOOL)prefersStatusBarHidden{
return YES;
}
注釋:info.plist文件中丈莺,View controller-based status bar appearance項設為YES秕脓,
則View controller對status bar的設置優(yōu)先級高于application的設置。
為NO則以application的設置為準毫捣,view controller的prefersStatusBarHidden方法無效锋谐,是根本不會被調用的遍尺。