在我的iOS视频应用中,状态栏隐藏在一些视图控制器中。我已经使用以下代码做到了这一点。
[[UIApplication sharedApplication] setStatusBarHidden:YES];
它适用于iOS 5和iOS 6,但不适用于iOS 7。 我在特定的视图控制器中尝试了这个,
Eg:
-(BOOL)prefersStatusBarHidden { return YES; }
它工作得很好,但是我不能在父视图控制器中再次显示状态栏。
在我的iOS视频应用中,状态栏隐藏在一些视图控制器中。我已经使用以下代码做到了这一点。
[[UIApplication sharedApplication] setStatusBarHidden:YES];
它适用于iOS 5和iOS 6,但不适用于iOS 7。 我在特定的视图控制器中尝试了这个,
Eg:
-(BOOL)prefersStatusBarHidden { return YES; }
它工作得很好,但是我不能在父视图控制器中再次显示状态栏。
当前回答
试试;
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
其他回答
在iOS10中,我所需要做的就是覆盖我的RootViewController (Swift)中的prefersStatusBarHidden变量:
override var prefersStatusBarHidden: Bool {
return true
}
在viewdidload中添加以下行
[[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationFade];
并添加新方法
- (BOOL)prefersStatusBarHidden {
return YES;
}
同时更改信息。plist文件 查看基于控制器的状态栏外观" = NO
这对我很有用
试试这个简单的方法:
objective - c:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated]
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated]
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
}
迅速:
override func viewWillAppear(animated: Bool)
{
super.viewWillAppear(animated)
UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.None)
}
override func viewWillDisappear(animated: Bool)
{
super.viewWillDisappear(animated)
UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: UIStatusBarAnimation.None)
}
斯威夫特5
使用以下步骤隐藏iOS状态栏:
打开Info.plist。 添加新的键视图控制器的状态栏外观和值设置为NO。 添加新键状态栏初始隐藏,值设置为YES。 编译项目。 状态栏应该隐藏在iOS手机现在。
最终设置截图:
这是在Xcode 10.2上运行的
要在iOS7中隐藏状态栏,你需要2行代码
在应用程序中:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions写入 [[UIApplication sharedApplication] setStatusBarHidden:YES]; 在信息。加上这个 基于视图-控制器的状态栏外观= NO