我创建了一个显示问题的测试project。
当我从左边缘或右边缘进行快速平移时,在状态UIGestureRecognizerState.Began
期间,translationInView
等于(0.0,0.0)。当您在landscape
并在设备的下半部分(在我的情况下是iphone 6)或在portrait
中进行手势时,会发生这种情况,并在大约第一个第三部分做手势屏幕(从底部)。
是......正常吗?我想它可能知道但无法找到任何东西。
答案 0 :(得分:0)
我认为您的代码没有任何问题。 translationInView(_:)
返回的值相对于手势开始的第一个点,这在.Began
期间是有意义的,因为这是在第一个点建立之后。
另外,只是想确保您了解自己使用的是UIScreenEdgePanGestureRecognizer
,而不是其他UIPanGestureRecognizer
。 UIScreenEdgePanGestureRecognizer
的正常行为是仅在屏幕边缘附近激活,这解释了您描述的活动区域。既然你提到它,只是想确保没有混淆(请告诉我,如果不是这样的话)。