ios - 从底部覆盖控制中心屏幕边缘平移?

标签 ios objective-c xcode uigesturerecognizer control-center

我想在显示器的底部边缘使用 UIScreenEdgePanGestureRecognizer。如果我将其 edges 设置为 UIRectEdgeLeftUIRectEdgeRight,识别器将完美运行,但 UIRectEdgeTopUIRectEdgeBottom 不起作用 - 它们已被某些 UISystemGestureGateGestureRecognizer 覆盖。

我实际上正试图以与 Facebook Paper 设法做到的相同方式覆盖控制中心——认为屏幕边缘平移可能是他们的把戏。 Paper 允许您从屏幕底部边缘滚动以向上拉出他们的菜单,而控制中心根本不会弹出。这绝对有可能,我只是想知道他们是怎么做到的。

有什么想法吗?

最佳答案

有一个技巧可以防止意外启动控制中心。只需禁用状态栏即可。然后在滑动时将提示用户是否必须启动控制中心。

它不会在一次滑动中启动。相反,第一次滑动时会出现一个箭头,用户需要单击并拖动箭头以启动控制中心,从而防止意外启动。使用此代码禁用状态栏。

我不知道它是否适用于你的情况,你的手势识别器是否会被触发,但我会试一试。

您可以使用此委托(delegate)方法禁用状态栏:

- (BOOL) prefersStatusBarHidden
{
    return YES;
} 

希望对您有所帮助。

关于ios - 从底部覆盖控制中心屏幕边缘平移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25076445/

相关文章:

ios - 不同 NSArray 对象的组合

android - HTML5 Web SQL 数据库问题

objective-c - 代码中创建的 UIView 只在纵向模式下绘制

iOS 11 设备方向自动旋转

objective-c - Objective-C 中的标记指针

xcode - 时间机器风格的导航

ios - 在多个 Controller 中重用相同的委托(delegate)方法?

ios - 仅在公司员工的手机上部署 iPhone 应用程序?

ios - 添加和删​​除接口(interface)类后 iPhone 应用程序崩溃

xcode - 在 Swift 中,self 的两种不同用法有什么区别?