在 iOS7 中,从屏幕底部向上或从屏幕顶部向下滑动会在您正在使用的应用程序顶部滑动一个“玻璃屏幕”。在许多游戏中,这是非常令人沮丧的。
作为用户,您可以在应用程序中关闭此行为,但这是系统范围的更改。
当检测到顶部/底部滑动时,愤怒的小鸟会弹出小三角形,这不是一个完美的解决方案,但已经解决了一些问题。
有没有更好的解决方案?使用什么 API/调用?
在 iOS7 中,从屏幕底部向上或从屏幕顶部向下滑动会在您正在使用的应用程序顶部滑动一个“玻璃屏幕”。在许多游戏中,这是非常令人沮丧的。
作为用户,您可以在应用程序中关闭此行为,但这是系统范围的更改。
当检测到顶部/底部滑动时,愤怒的小鸟会弹出小三角形,这不是一个完美的解决方案,但已经解决了一些问题。
有没有更好的解决方案?使用什么 API/调用?
我在 Info.plist 中将 statusBar is 最初隐藏为 YES ,但它未能达到我想要的结果。 将 UIApplication statusBarHidden 设置为 YES 在 iOS 7 中不起作用让我得到了我需要的答案:
- (void)viewDidLoad
{
[super viewDidLoad];
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
{
[self prefersStatusBarHidden];
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
else
{
// iOS 6
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}
}
- (BOOL)prefersStatusBarHidden {
return YES;
}
根据 21/10/2013,这可以正常工作。
要在 iOS 11 中获得相同的行为,您必须preferredScreenEdgesDeferringSystemGestures
在视图控制器上实现:
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures {
return UIRectEdgeAll;
}