在单一视图上隐藏iPhone上的状态栏?
我想在所有视图中的应用程序中显示状态栏。 我曾尝试修改plist中'最初隐藏状态栏',我试过:
[[UIApplication sharedApplication] setStatusBarHidden:YES];
这隐藏了酒吧,但在状态栏所在的地方留下了一个丑陋的蓝色框(这不属于我的观点,那里没有蓝色)。
我也尝试在Xcode 4.2的'界面构建器'位修改布局,希望全屏和状态栏设置。
有什么建议么?
编辑 - 解决方案的种类:
我已经完成了,包括:
-(void)viewWillDisappear:(BOOL)animated{
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
-(void)viewDidAppear:(BOOL)animated{
[[UIApplication sharedApplication] setStatusBarHidden:NO];
}
在我希望状态栏打开的每一个页面上。
它仍然看起来不稳定和垃圾,因为标签栏出现并且每次切换视图时都会重新出现。 但是我已经受够了,现在工作了大约5个小时这个愚蠢的问题,所以这将不得不做。
第二次编辑 -
通过在viewWillAppears中包含setStatusBarHidden = NO来修复震荡。 上帝知道一切如何运作,但它确实如此。
尝试这一个它会完美运行..
[[UIApplication sharedApplication] setStatusBarHidden:YES];
而在XIB中没有选择状态栏。
适用于iOS 7。
转到info.plist并添加两个属性(如果不存在)。 将“状态栏最初隐藏”设置为“YES”并将“UIViewControllerBasedStatusBarAppearance”设置为“NO”。 这会隐藏你的应用的状态栏。
#pragma mark - Hide statusbar
-(void)hideStatusBar {
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000
// iOS 7.0 or later
[self setNeedsStatusBarAppearanceUpdate];
#else
// less than 7
[[UIApplication sharedApplication] setStatusBarHidden:YES];
#endif
}
- (BOOL)prefersStatusBarHidden {
return YES;
}
如果有人在寻找上述解决方案无法工作的解决方案(并且顶部仍然存在一个令人讨厌的蓝色20像素空白处),请尝试将其放置在视图控制器的实现文件的viewWillAppear中,以获取您想要的状态酒吧被隐藏。
self.navigationController.navigationBar.frame = CGRectOffset(self.navigationController.navigationBar.frame, 0.0, -20.0);
这实际上花了我12个小时左右的时间来解决,这就是解决方案,所以现在我正在传播这个词,以防其他人有这个烦人的问题。
链接地址: http://www.djcxy.com/p/42689.html