【发布时间】:2015-08-31 10:51:16
【问题描述】:
我用一个 320*44 的图像自定义了 NavigationBar 背景图像。所以状态栏是黑色的。这就是我想要的。但是,当我展示这个导航控制器时,如你所知,从底部默认滑动动画,状态bar的黑色背景也在这里。如何在呈现UINavigationController的状态栏不变时将其删除?
【问题讨论】:
标签: ios uinavigationcontroller statusbar
我用一个 320*44 的图像自定义了 NavigationBar 背景图像。所以状态栏是黑色的。这就是我想要的。但是,当我展示这个导航控制器时,如你所知,从底部默认滑动动画,状态bar的黑色背景也在这里。如何在呈现UINavigationController的状态栏不变时将其删除?
【问题讨论】:
标签: ios uinavigationcontroller statusbar
如果您想从应用程序的所有视图中隐藏状态栏。那么从应用程序的“.plist”文件中设置它是更好的选择。如果你添加下面的行
UIViewControllerBasedStatusBarAppearance = false
在您的“.plist”文件中,它将隐藏您应用程序的状态栏。
【讨论】:
首先将一个键 UIViewControllerBasedStatusBarAppearance 添加到 Infor.plist 并将值设置为 YES。然后可以隐藏/显示状态栏。
将以下代码添加到您的视图控制器:
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
// iOS 7
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
} else {
// iOS 6
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}
- (BOOL)prefersStatusBarHidden {
return YES;
}
谢谢。
【讨论】: