Tim*_*win 41 objective-c orientation ios ios8
我希望状态栏在iOS 8中以两个方向显示; 它在iOS 7中正确显示.
navigationController.isNavigationBarHidden
返回NO.
为什么iOS 8会这样做?
Jag*_*een 60
试试这个
在下面添加代码 didRotateFromInterfaceOrientation
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
Run Code Online (Sandbox Code Playgroud)
编辑
无需编写代码,在所有视图控制器
设置View controller-based status bar appearance
,以NO
在plist
和根视图控制器添加下面的代码viewDidLoad
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
Run Code Online (Sandbox Code Playgroud)
演示项目
https://www.dropbox.com/s/uumneidk4wom5md/demoStatusBar.zip?dl=0
Vid*_*dhi 49
要在ios 8中以横向模式显示状态栏,请尝试以下方法
- (BOOL)prefersStatusBarHidden {
return NO;
}
Run Code Online (Sandbox Code Playgroud)
Swift版本
override func prefersStatusBarHidden() -> Bool {
return false
}
Run Code Online (Sandbox Code Playgroud)
Swift 3,Xcode 8,iOS 10,/*ViewController.swift*/
override var prefersStatusBarHidden: Bool {
return false
}
Run Code Online (Sandbox Code Playgroud)
Jageen的解决方案可能是最好的,只需要一个小的改动,即使用viewDidLoad
它,而不是使用它application:didFinishLaunchingWithOptions:
.
这基本上是一个两步过程:
1).在项目的Info.plist文件中将"查看基于控制器的状态栏外观"设置为NO.
2).application:didFinishLaunchingWithOptions:
使用以下代码强制状态栏隐藏状态为NO,in :
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
Run Code Online (Sandbox Code Playgroud)
瞧,瞧!
注意:使用setStatusBarHidden:withAnimation
上述两个语句很重要,强制状态栏隐藏状态.
我遇到过同样的问题!通过将此成瘾添加到viewDidLoad来修复
[self setNeedsStatusBarAppearanceUpdate];
Run Code Online (Sandbox Code Playgroud)
而这要实现自己
-(BOOL)prefersStatusBarHidden{
return NO;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25392 次 |
最近记录: |