Objective c 在iOS7中隐藏状态栏
我需要隐藏iOS7上的状态栏。我已经尝试设置:Objective c 在iOS7中隐藏状态栏,objective-c,xcode,ios7,Objective C,Xcode,Ios7,我需要隐藏iOS7上的状态栏。我已经尝试设置: Status bar is initially hidden 及 进入plist文件。启动应用程序时,状态栏不会显示,但当我更改视图控制器(是选项卡式应用程序)时,状态栏会显示 我已经试过了 - (BOOL)prefersStatusBarHidden { return YES; } 及 在视图控制器中,但不起作用。有什么想法吗 提前感谢:) 更新 我通过在info.plist中将“基于视图控制器的状态栏外观”设置为“是”并调用该方法,
Status bar is initially hidden
及
进入plist文件。启动应用程序时,状态栏不会显示,但当我更改视图控制器(是选项卡式应用程序)时,状态栏会显示
我已经试过了
- (BOOL)prefersStatusBarHidden
{
return YES;
}
及
在视图控制器中,但不起作用。有什么想法吗
提前感谢:)
更新
我通过在info.plist中将“基于视图控制器的状态栏外观”设置为“是”并调用该方法,部分解决了该问题
- (BOOL)prefersStatusBarHidden
{
return YES;
}
进入视图控制器。但现在我遇到了另一个问题:当我启动另一个控制器(UIImagePickerController)时,状态栏会出现。我试图设置[myPicker prefersStatusBarHidden]代码>但它似乎是只读的。有人知道解决办法吗
注意:UIViewControllerBasedStatusBarAppearance=NO
和UIViewControllerBasedStatusBarAppearance=NO
是一回事。将此键添加到您的info.plist
UIViewControllerBasedStatusBarAppearance = NO
设置
在info.plist和每个控制器工具中
- (BOOL)prefersStatusBarHidden {
return YES; // or NO
}
然后,每当需要状态栏外观更新时(例如,在控制器的viewDidLoad
中),调用setneedssStatusBarAppearanceUpdate
根据以下文件:
如果视图控制器的状态栏属性(例如隐藏/未隐藏状态或样式)发生更改,请调用此方法。如果在动画块内调用此方法,则更改将与动画块的其余部分一起设置动画
比如说
- (void)viewDidLoad {
[super viewDidLoad];
[self setNeedsStatusBarAppearanceUpdate];
...
}
将在每次加载视图控制器的视图时隐藏/取消隐藏状态栏(除了其他可能的样式更改)
(可选)您还可以在动画块中为封装调用的过渡设置动画
- (void)viewDidLoad {
[super viewDidLoad];
[UIView animateWithDuration:0.5 animations:^{
[self setNeedsStatusBarAppearanceUpdate];
}];
...
}
正确的解决方案:
- (BOOL)prefersStatusBarHidden {
return YES; // or NO
}
- (void)viewDidLoad {
[super viewDidLoad];
[self setNeedsStatusBarAppearanceUpdate];
...
}
- (void)viewDidLoad {
[super viewDidLoad];
[UIView animateWithDuration:0.5 animations:^{
[self setNeedsStatusBarAppearanceUpdate];
}];
...
}