屏幕边缘手势识别器问题
Posted
技术标签:
【中文标题】屏幕边缘手势识别器问题【英文标题】:Screen Edge Gesture Recognizer issue 【发布时间】:2018-06-21 08:00:32 【问题描述】:我遇到了 UIScreenEdgePanGestureRecognizer 的问题。我为滑动汉堡菜单的手势添加了 .left 边缘,但我在这个屏幕上有 UISlider 控件,它的左边缘绑定到屏幕的左边缘。 当我在 UISlider 控件上从左向右滑动时,屏幕不会更改其值,而是显示汉堡菜单。 如何在滑块区域部分禁用左边缘识别器,但在此屏幕的其他部分保持启用?
【问题讨论】:
【参考方案1】:在您不希望识别器响应的重叠手势识别器情况下,我实现了“要求失败”。
leftEdgeRecognizer.require(toFail: sliderAreaRecognizer)
这将导致左侧边缘滑动失败或在滑块识别器处于活动状态时“被禁用”。
【讨论】:
【参考方案2】:为您的UIScreenEdgePanGestureRecognizer
设置一个代表,
实现shouldRecognizeSimultaneouslyWithOtherGestureRecognizer
功能
并返回false
。
【讨论】:
不幸的是,这对我不起作用,我尝试重新定义许多委托方法,但我所达到的只是边缘缓慢工作的滑块:很难抓住它来滑动 另一种选择是实现shouldRecognizeSimultaneouslyWith otherGestureRecognizer
。这将需要您弄清楚菜单手势是否是第二个手势,而第二个手势是滑块手势。然后返回 false。
是的,你是对的,我实现了这个案例,但效果不佳。当滑块位于屏幕边缘时,滑块严重滑动。简单地说,我关闭了滑块区域的左边缘手势,但是当我从这个边缘滑块滑出时,滑得不好。我必须正确指向滑块以获得良好的工作姿势。在其他地方(当滑块从边缘移动时)效果很好。以上是关于屏幕边缘手势识别器问题的主要内容,如果未能解决你的问题,请参考以下文章