如何使用 Scroll TransitionStyle 阻止 UIPageViewController 上的点击手势
Posted
技术标签:
【中文标题】如何使用 Scroll TransitionStyle 阻止 UIPageViewController 上的点击手势【英文标题】:How to block tap gesture on UIPageViewController with Scroll TransitionStyle 【发布时间】:2018-11-13 07:32:37 【问题描述】:我想阻止点击手势(完美地只是左边框,但两者都可以,我将为其添加按钮)这是响应UIPageViewController
中的更改页面。
我已经在“viewDidLoad”方法中尝试过这个解决方案:
for recognizer in gestureRecognizers
if recognizer is UITapGestureRecognizer
recognizer.isEnabled = false
但它仅适用于将TransitionStyle
设置为Page Curl
的情况,在我的情况下,我需要使用Scroll TransitionStyle
。
附言。我还在UIPageViewController
实现中发现了一条评论,只有当过渡样式为UIPageViewControllerTransitionStylePageCurl
时才会填充gestureRecognizers
,因此需要一些更大的“hack”,希望您能帮助我。
pps。是的,我发现了这个 - UIPageViewController returns no Gesture Recognizers in ios 6。解决方案,但它很老而且在 objC 中,我很乐意在这里使用 Swift。
pps。在nil
上设置dataSource
将不起作用 - 我需要滑动手势。
【问题讨论】:
【参考方案1】:您需要实现 UIGestureDelegate,然后在检测到此类手势时声明手势。
我认为here你可以看到很好的例子如何做到这一点
【讨论】:
这和我写的问题一样——它只对 UIPageViewControllerTransitionStylePageCurl 有效,对 Scroll TransitionStyle 无效。以上是关于如何使用 Scroll TransitionStyle 阻止 UIPageViewController 上的点击手势的主要内容,如果未能解决你的问题,请参考以下文章
如何将infinite_scroll_pagination 用于块模式