【发布时间】:2013-09-20 13:48:28
【问题描述】:
在 iOS7 中,从屏幕底部向上或从屏幕顶部向下滑动会在您正在使用的应用程序顶部滑动一个“玻璃屏幕”。在很多游戏中,这是非常令人沮丧的。
作为用户,您可以在应用中关闭此行为,但这是系统范围的更改。
当检测到顶部/底部滑动时,Angry Birds 会弹出小三角形,这不是一个完美的解决方法,但已经解决了。
有没有更好的解决方案?使用什么 API/调用?
【问题讨论】:
标签: ios7
在 iOS7 中,从屏幕底部向上或从屏幕顶部向下滑动会在您正在使用的应用程序顶部滑动一个“玻璃屏幕”。在很多游戏中,这是非常令人沮丧的。
作为用户,您可以在应用中关闭此行为,但这是系统范围的更改。
当检测到顶部/底部滑动时,Angry Birds 会弹出小三角形,这不是一个完美的解决方法,但已经解决了。
有没有更好的解决方案?使用什么 API/调用?
【问题讨论】:
标签: ios7
我在 Info.plist 中设置 statusBar is initial hidden 为 YES ,但它未能达到我想要的结果。 Setting UIApplication statusBarHidden to YES does not work in 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;
}
根据 2013 年 10 月 21 日,这可以正常工作。
【讨论】:
要在 iOS 11 中获得相同的行为,您必须在视图控制器上实现 preferredScreenEdgesDeferringSystemGestures:
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures {
return UIRectEdgeAll;
}
【讨论】: