use*_*282 111 hidden statusbar ios7 xcode5
我正在创建一个应用程序,我想隐藏状态栏.当我测试应用程序时,状态栏会在显示启动画面时隐藏,但是一旦应用程序完全加载,状态栏就会重新出现.
我正在使用Xcode 5和iOS 7,并尝试以编程方式禁用状态栏
([[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationFade];),
Run Code Online (Sandbox Code Playgroud)
在info.plist文件中,并使用.xib文件上的属性检查器.什么都没有效果.
有任何想法吗?
Que*_*tin 220
尝试将以下方法添加到应用程序的根视图控制器:
- (BOOL)prefersStatusBarHidden
{
return YES;
}
Run Code Online (Sandbox Code Playgroud)
Ida*_*dan 125
您应该将此值添加到plist:" 查看基于控制器的状态栏外观 "并将其设置为" NO ".
这样您就可以将状态栏设置为隐藏模式.与其他提供的答案不同,这将其设置为全局.
更新:如果您希望在启动屏幕上隐藏状态栏,请不要忘记在目标状态栏选项上标记" 在应用程序启动期间隐藏 ".此外,如果您不想在应用程序内部使用代码,则可以在plist上添加" Status bar is initial hidden "至" YES ".
Sve*_*ven 73
您发布的代码适用于iOS 6.1及更低版本.对于iOS 7,Apple已经提供了新方法来直接控制每个视图的状态栏.在Info.plist中关闭此选项将使您能够隐藏状态栏,至少对于当前的开发人员预览(4).
如需参考,请查看Apple开发人员门户网站上提供的iOS 7过渡指南.
use*_*ajo 36
well I try hide the status bar in all my app and in the "app"-info.plist and I add two rows in the dictionary "Information Property List" I add "View controller-based status bar appearance" set NO and in "Status bar is initially hidden"set YES and for me works n_n'
alo*_*nes 17
但是,如果使用UIImagePicker,状态栏将再次出现.
在这种情况下,您应该隐藏状态栏,如下所示,
- (void)imagePickerController:(UIImagePickerController *)aPicker didFinishPickingMediaWithInfo:(NSDictionary *)info {
// for iOS7
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
Run Code Online (Sandbox Code Playgroud)
经过一番长时间的搜索,我终于找到了一个非常简单的解决方案,它也解决了这个UIImagePickerController
问题.
如其他答案中所述,将状态栏隐藏在AppDelegate didFinishLaunching中,并将"基于控制器的状态栏外观视图"设置为NO.
然后,在你的AppDelegate中:
- (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame
{
[application setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
}
Run Code Online (Sandbox Code Playgroud)
et voila - 即使UIImagePickerController最重要,您的状态栏也将保持隐藏状态.
每次呈现UIImagePickerController时,这比"重新隐藏"更好,因为它在整个应用程序中都是隐藏的.
要隐藏特定UIViewController上的状态栏,只需添加以下内容:
-(BOOL)prefersStatusBarHidden
{
return YES;
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助 !