在 ios 8 中以横向模式隐藏并在 xCode 6 中发布 ios 8 后尝试在 ios 7 中正常工作的状态栏问题
Posted
技术标签:
【中文标题】在 ios 8 中以横向模式隐藏并在 xCode 6 中发布 ios 8 后尝试在 ios 7 中正常工作的状态栏问题【英文标题】:Issue of status bar which is getting hidden in landscape mode in ios 8 and works fine in ios 7 tried after release of ios 8 in xCode 6 【发布时间】:2014-11-09 23:00:57 【问题描述】:我遇到了一个问题,当模拟器在 ios 8 中以横向模式旋转时隐藏状态栏,而它在 iOS 7 模拟器中工作正常。
我应该怎么做才能解决这个问题?
【问题讨论】:
接受的这个问题的答案解决了这个问题:***.com/questions/24329503/… 【参考方案1】:这是 iOS 8 中的新默认设置。但您可以通过覆盖 UIViewController
中的以下内容来恢复旧行为:
- (BOOL)prefersStatusBarHidden
return NO;
【讨论】:
【参考方案2】:以下简单的解决方案在iOS 8
中对我非常有效,没有任何问题。
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
[coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context)
[[UIApplication sharedApplication] setStatusBarHidden:NO];
completion:^(id<UIViewControllerTransitionCoordinatorContext> context)
];
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
【讨论】:
也适用于 iOS 10。【参考方案3】:这不是问题,而是 IOS 8 的一个特性。状态栏在 IOS 8 中以横向模式隐藏
【讨论】:
你是对的,即使是苹果应用也有同样的行为。 并非所有 Apple 应用程序/组件的状态栏都隐藏在横向中。 AVVideoPlayer 就是一个例子。以上是关于在 ios 8 中以横向模式隐藏并在 xCode 6 中发布 ios 8 后尝试在 ios 7 中正常工作的状态栏问题的主要内容,如果未能解决你的问题,请参考以下文章
CSS 位置问题:在 iOS 9 iPhone 6+ 中以横向模式修复
在没有 NSNotificationCenter 的情况下,在 iOS 8 中正确强制或允许 Youtube 嵌入视频的横向模式