在 iPad 缩放模式下隐藏状态栏会向下推窗口
Posted
技术标签:
【中文标题】在 iPad 缩放模式下隐藏状态栏会向下推窗口【英文标题】:Hiding status bar on iPad scaled mode pushes window down 【发布时间】:2016-01-22 00:50:44 【问题描述】:当我打电话时
[[UIApplication sharedApplication] setStatusBarHidden:hideStatusBar];
在以缩放模式运行 iPhone 应用程序的 iPad 上,状态栏甚至不会隐藏。相反,一个 20 像素的黑色空间被推到我的 iPad 视图顶部;最终让我的应用被苹果拒绝,即使我不希望任何人在 iPad 上使用这个“仅限 iPhone”的应用。
如果我删除 setStatusBarHidden 调用,iPhone 显然不会隐藏状态栏。在 iPad 运行缩放模式时,黑条不再出现。
基于视图控制器的状态栏外观设置为 NO。
我还尝试了以下方法:
- (BOOL)prefersStatusBarHidden
return hideStatusBar;
这个设置之前我需要隐藏状态栏。
hideStatusBar = YES; //changes
[self setNeedsStatusBarAppearanceUpdate];
但是,没有调用“prefersStatusBarHidden”。我只需要一个解决方案,这样黑条就不会出现在 iPad 缩放模式上,而状态栏会在实际 iPhone 上消失。
我在 ios 8 和 9 上运行它。
【问题讨论】:
而且我不想添加代码来检测应用程序是否在兼容/缩放模式下运行。 【参考方案1】:我发现,除了您拥有的代码之外,您还必须创建 Info Plist BOOL 项 View Controller Status Bar Appearance
(也称为 UIViewControllerBasedStatusBarAppearance
)并将其设置为 YES。
适合我的代码是:
-(BOOL)prefersStatusBarHidden
return YES;
- (void)viewDidAppear:(BOOL)animated
[super viewDidAppear:NO];
[self setNeedsStatusBarAppearanceUpdate];
...
【讨论】:
以上是关于在 iPad 缩放模式下隐藏状态栏会向下推窗口的主要内容,如果未能解决你的问题,请参考以下文章
在iPad横向模式下隐藏主视图UISplitViewController iOS
在 iOS 7 中,如果我使用 `prefersStatusBarHidden` 方法隐藏状态栏,导航栏会缩小/失去高度。我可以停止这种行为吗?
ipad相机全屏:隐藏状态栏:返回:mainViewController高度增加20 px