状态栏仍然显示
Posted
技术标签:
【中文标题】状态栏仍然显示【英文标题】:Status Bar Still Showing 【发布时间】:2013-09-02 18:17:56 【问题描述】:我真的很沮丧!
我已经尝试了各种可行的方法来摆脱我应用顶部的 UIStatusBar...
我试过了:
在 IB 中将状态栏设置为“无”
在应用程序启动和每个场景中运行 [[UIApplication sharedApplication] setStatusBarHidden:YES];
。
转到 .plist 并更改启动时隐藏状态栏的值:是
在主页上为目标设置相同的值
在应用委托中设置- (BOOL)prefersStatusBarHidden
return YES;
从字面上看,这些都不起作用......它仍然出现在我的所有观点中,而且非常令人沮丧
再次感谢:)
旁注:我使用的是 xcode 5,开发人员测试版 ios 7 beta 6,但这也发生在我的旧 ios6 和 xcode 4 应用程序中
【问题讨论】:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];来自***.com/questions/5709123/…\ 如果你看到我的帖子,我已经试过了,但是谢谢你的建议:) 您也可以在 info.plist 文件中添加“查看基于控制器的状态栏外观”并将其设置为“NO”,如本文所示:***.com/questions/17763719/status-bar-wont-disappear 看过布拉姆的回答了吗?对我来说看起来比“正确答案”简单得多。为我工作。 【参考方案1】:请试试这个
//viewDidload
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
// iOS 7
[self prefersStatusBarHidden];
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
else
// iOS 6
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
// Add this Method
- (BOOL)prefersStatusBarHidden
return YES;
此代码取自this link
【讨论】:
是每个类中的那个bool方法,还是appdelegate 在你的rootViewController中实现这个方法,在rootViewController中实现是全局的 我没有根视图控制器,我有应用程序委托,然后是我的一个视图的视图控制器,但这是一个 SKSprite 项目,因此它没有填充根视图控制器 “不是这样”令人惊讶的是我没有任何 Apple 开发者帐户,并且“令人惊讶的是”我已经发布了指向网站的链接也发布了它。你可能会责怪他们 你为什么要调用-prefersStatusBarHidden?【参考方案2】:我通常做的是将两个键值属性添加到Info.plist
文件中。
属性源代码为:
【讨论】:
每个人都没有强调的一点是“基于视图控制器的状态栏外观”是一个BOOLEAN
值。我的设置为字符串,我几乎把头发扯掉了。
您确实应该避免禁用基于视图控制器的状态栏外观。这只是添加的一个兼容性选项,以便在开发人员没有时间或无法实现新方式时使旧应用程序在 iOS 7 下运行。【参考方案3】:
您需要在视图控制器中添加一个方法,而在您编写时不到应用代理中。
- (BOOL)prefersStatusBarHidden
return YES;
【讨论】:
【参考方案4】:因为我发生了一些事情!
对于其他任何人 ,,
Make sure you are modifying the info.plist in the right *TARGET* :/
加上接受的答案。
【讨论】:
以上是关于状态栏仍然显示的主要内容,如果未能解决你的问题,请参考以下文章