我正在使用horizontal
页面导航构建View controller-based status bar appearance = NO
应用,需要在某些页面上显示状态栏,并将其隐藏在其他页面上。我想使用淡入/淡出动画,所以我必须设置
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
并更新状态栏,如下所示:
Status bar is initially hidden = YES
在页面之间导航时,此过程非常有效,但我无法在启动时删除状态栏。
我尝试过设置:NavigationControllers viewDidLoad:
将此添加到[[UIApplication sharedApplication] setStatusBarHidden:YES];
self.statusBarHidden = YES;
[self setNeedsStatusBarAppearanceUpdate];
application.statusBarHidden = YES;
将此添加到AppDelegates didFinishLaunchingWithOptions:
- (BOOL)prefersStatusBarHidden {
return YES;
}
将其添加到初始页面的ViewController:
View controller-based status bar appearance
检查常规 - >部署信息
中的“隐藏状态栏”选项在链接的storyboard元素中将“状态栏”设置为“无”
但状态栏仍然在发布时出现。如何在不更改-n
?
答案 0 :(得分:4)
只需勾选项目设置中的隐藏状态栏,如下所示。
- (BOOL)prefersStatusBarHidden {
return YES;
}
/ ------ UPDATE ----- /
答案 1 :(得分:1)
changing plist file :
set Status bar is initially hidden = YES
add row: View controller-based status bar appearance = NO
答案 2 :(得分:0)
为了实现您的目标,您需要在app.plist
文件中设置:
Status bar is initially hidden
至YES
View controller-based status bar appearance
至NO
然后在每个视图控制器中显示它
[[UIApplication sharedApplication] setStatusBarHidden:NO];
或隐藏:
[[UIApplication sharedApplication] setStatusBarHidden:YES];
答案 3 :(得分:0)
Goto Targets-> General->部署信息:并在其下选择隐藏状态栏选项。
答案 4 :(得分:0)
原来我正在做的事情是正确的,但是有一个错误的[[UIApplication sharedApplication] setStatusBarHidden:NO];
埋没在继承的代码中。我抓了它,却忽略了那条线......
(使用git grep StatusBar
查找改变状态栏的git仓库中的代码行。
此外,唯一需要的代码是:
View controller-based status bar appearance = NO
(在plist中)
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
状态栏需要更新的位置(通常在viewWillAppear
)