iOS:从 iPad 屏幕外开始滑动时,无法识别滑动手势

Posted

技术标签:

【中文标题】iOS:从 iPad 屏幕外开始滑动时,无法识别滑动手势【英文标题】:iOS : Swipe gesture not getting recognized when swipe begins from outside the iPad screen 【发布时间】:2014-04-09 11:32:12 【问题描述】:

最近我发现了一个奇怪的 iPad 触摸行为。我有一个 UITableView 在滑动时从屏幕的右边缘滑入(就像 Facebook 应用程序在左侧一样)。在我的实现中,我添加了一条 UIView 并添加了滑动手势识别器。我的应用程序仅处于横向模式

现在由于视图是从右边缘出来的,所以一般行为是从屏幕边缘外开始滑动手指。如果滑动手指从具有主页按钮的边缘开始,菜单会一直完美显示。然而,在横向模式下,即当相机边缘在右侧时,我从那一端滑动,手势在 3-4 次尝试中被识别一次。

我在同一个类中实现了 touchesBegan 方法并得到了完全相同的行为。

我的应用程序是否无法识别来自该边缘的触摸(选择性地)?到底发生了什么?看起来这是编码方面的僵局。

请帮忙。 谢谢

【问题讨论】:

对@JoeBlow,我正在使用 UISwipeGestureRecognizer 具有 UISwipegestureRecognizer 的视图不是全屏的。它只是应用程序右侧边缘的 10 个单位宽的条带 您是在上下还是那条细垂直条上滑动? 【参考方案1】:

既然您希望触摸从屏幕边缘开始,为什么不使用UIScreenEdgePanGestureRecognizer?此类专门用于从屏幕边缘附近开始的触摸。

有一个简单的例子here。

【讨论】:

【参考方案2】:

您的应用是全屏的吗?如果是这样,则 ios 系统正试图从那一侧拉下 SB 设置

【讨论】:

【参考方案3】:

我看到的完全一样。我确实使用 UIScreenEdgePanGestureRecognizer,我什至将识别器应用到整个屏幕视图。 此外,我在“纵向颠倒”方向看到相同的行为。 我认为这是 iOS 7 和 8 中触摸识别中的一个错误(实际上,直到我看到这篇文章,我还以为是手势识别,但这并不能解释通用触摸处理的相同行为)。

【讨论】:

以上是关于iOS:从 iPad 屏幕外开始滑动时,无法识别滑动手势的主要内容,如果未能解决你的问题,请参考以下文章

ios开发 cell从屏幕外滑动进屏幕里面 重新走刷新表格的方法吗

滑动 UITableViewCell

UIScrollview 无法识别从屏幕边缘滑动

怎么设置滑动返回键

uniapp屏幕上滑不动

iOS如何在屏幕外启动图像并将其动画到屏幕上