【问题标题】:How do you prevent Notification Center in games?如何防止游戏中的通知中心?
【发布时间】:2013-09-20 13:48:28
【问题描述】:

在 iOS7 中,从屏幕底部向上或从屏幕顶部向下滑动会在您正在使用的应用程序顶部滑动一个“玻璃屏幕”。在很多游戏中,这是非常令人沮丧的。

作为用户,您可以在应用中关闭此行为,但这是系统范围的更改。

当检测到顶部/底部滑动时,Angry Birds 会弹出小三角形,这不是一个完美的解决方法,但已经解决了。

有没有更好的解决方案?使用什么 API/调用?

【问题讨论】:

    标签: ios7


    【解决方案1】:

    我在 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。(我正在尝试让 iOS 的 Mini vMac 实际上让我下拉菜单而不用通知中心打扰我)。
    【解决方案2】:

    要在 iOS 11 中获得相同的行为,您必须在视图控制器上实现 preferredScreenEdgesDeferringSystemGestures

    - (UIRectEdge)preferredScreenEdgesDeferringSystemGestures {
        return UIRectEdgeAll;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      • 1970-01-01
      • 2018-06-23
      • 2012-03-16
      • 1970-01-01
      相关资源
      最近更新 更多