我想隐藏特定视图控制器的状态栏,而不是全部。 然后我试了一下,
[[UIApplication sharedApplication] setStatusBarHidden:YES]; in the `.AppDelegate.m` inside the `didfinishlaunchwithoption` but it didn't work. and also it is deprecated.
然后我尝试了我的viewcontroller
- (BOOL) prefersStatusBarHidden{
return YES;
}
这也没有用。任何人都可以帮助我。对你说 我不想在这里使用任何弃用的方法
答案 0 :(得分:1)
转到info.plist并添加两个属性(如果不存在)。将“状态栏最初隐藏”设置为“是”并将“UIViewControllerBasedStatusBarAppearance”设置为“YES”。这将隐藏您的应用的状态栏。
-(BOOL)prefersStatusBarHidden
{
return YES;
}
并在您想要的地方调用此方法,例如来自viewDidLoad
[self prefersStatusBarHidden];
答案 1 :(得分:1)
在视图控制器中尝试以下代码 请尝试以下方法,不要使用压缩警告:
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
}
- (void)viewWillDisappear:(BOOL)animated{
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[super viewWillDisappear:animated];
}
iOS 9更新 在viewController中添加以下代码以隐藏状态栏。
- (BOOL) prefersStatusBarHidden {
return YES;
}
答案 2 :(得分:1)
我想隐藏特定视图控制器的状态栏,而不是全部。
只有顶级视图控制器才能说明状态栏是否隐藏。您的prefersStatusBarHidden
未被咨询,因为您的视图控制器不是顶级视图控制器 - 它有某种父视图控制器,它负责状态栏。
答案 3 :(得分:-1)
Try below code in your view controller.
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
- (void)viewWillDisappear:(BOOL)animated{
[[UIApplication sharedApplication] setStatusBarHidden:NO];
[super viewWillDisappear:animated];
}
答案 4 :(得分:-1)
将以下代码添加到视图控制器中..
- (BOOL)prefersStatusBarHidden {
return NO;
}
如果更改此方法的返回值,请调用setNeedsStatusBarAppearanceUpdate方法。
对于childViewController,要指定子视图控制器应控制首选状态栏隐藏/取消隐藏状态,请实现childViewControllerForStatusBarHidden方法。