【发布时间】:2016-03-28 14:23:53
【问题描述】:
我正在构建一个带有horizontal 页面导航的iOS 9 应用程序,需要在某些页面上显示状态栏,并在其他页面上隐藏它。我想使用淡入淡出动画所以我必须设置
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];
将此添加到 AppDelegates didFinishLaunchingWithOptions:
application.statusBarHidden = YES;
将这个添加到初始页面的 ViewController 中:
- (BOOL)prefersStatusBarHidden {
return YES;
}
在General->Deployment Info中勾选“隐藏状态栏”选项
并在链接的故事板元素中将“状态栏”设置为“无”
但状态栏仍然在启动时显示。如何在不更改 View controller-based status bar appearance 的值的情况下摆脱启动时的状态栏?
【问题讨论】:
-
为什么你不想改变基于视图控制器的状态栏外观的值?
-
我认为必须是 YES 才能为状态栏设置动画,当它设置为 NO 时我无法做到
标签: ios objective-c ios9