关于iPhone X下Home Indicator(白条)的隐藏和延迟响应

iPhone X Edge Protect

在iPhone X 中通知中心和控制中心全部都移动到了由顶部刘海处下拉和右上角下拉来触发。原本底部的所有手势都被Home Indicator占用。其实Edge Protect在这里依然适用,只是对于Home Indicator的手势有一个小插曲。正常来说他在底部,就应该受到UIRectEdgeBottom 或者是 UIRectEdgeAll控制,但是一开始苹果并没有这么做,不论怎么写代码,他都有着最高的优先级,在iPhone X刚发布我就试图去处理交互问题,因为海报工厂并没有传统的UITabBarController,且里面所有的tableView都是直通到底,但是始终都无法延迟执行与Home Indicator相关的任何手势。+


后来看了其他游戏,视频类App在iPhone X上的表现也都是如此。腾讯的王者荣耀,网易的吃鸡都是一样。腾讯官方给出的解释是暂时开起引导式访问,也仍然不方便。后来在今年1月25日苹果推送了iOS 11.2.5的版本更新,然后王者荣耀也跟着进行了一波更新,在进入游戏时候就会发现,底部的Home Indicator当你一段时间不去触碰它的时候由黑色或者白色(根据当前的屏幕显示的内容来决定)变成非常透明的灰色,当你第一次进行操作会默认执行App内手势,同时激活Home Indicator,短时间内进行第二次操作就可以返回桌面

在对应的ViewControll中添加如下代码,开启的是所有边界限制其中包括了上、下边界。在下拉或者上拉的话会先触发App内部手势,同时出现一个小箭头然后在箭头消失之前再次滑动就会触发系统手势。即可返回游戏到主界面。

-(UIRectEdge)preferredScreenEdgesDeferringSystemGestures
{
    return UIRectEdgeAll;
}



  • 本文作者: Molier
  • 本文链接: https://oliverqueen.cn/2018/02/08/关于iPhone-X下Home键的隐藏和延迟响应/
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!

你可能感兴趣的:(mobile,develop)