我可以禁用 UIPageViewController 的页面边框手势识别器吗?并保持刷卡?
Posted
技术标签:
【中文标题】我可以禁用 UIPageViewController 的页面边框手势识别器吗?并保持刷卡?【英文标题】:Can I disable the UIPageViewController's page border gesture recognizers? And keep the swipe one? 【发布时间】:2012-02-16 22:44:56 【问题描述】:我看到我可以移除所有 UIPageViewController 手势,但如果我只想移除边缘上的点击手势怎么办?并保持滑动手势?这可能吗?
谢谢
【问题讨论】:
【参考方案1】:尝试循环访问pageViewController.gestureRecognizers
,禁用任何点击识别器。
目标-C:
for (UIGestureRecognizer *recognizer in pageViewController.gestureRecognizers)
if ([recognizer isKindOfClass:[UITapGestureRecognizer class]])
recognizer.enabled = NO;
斯威夫特:
for recognizer in pageViewController.gestureRecognizers
if recognizer is UITapGestureRecognizer
recognizer.isEnabled = false
【讨论】:
注意,这只适用于 UIPageViewControllerTransitionStylePageCurl。 它在 ios 6 上对我有用,同时使用 UIPageViewControllerTransitionStylePageCurl 和 UIPageViewControllerTransitionStyleScroll【参考方案2】:如果您需要在 Swift 中执行此操作:
for recognizer in pageViewController.gestureRecognizers as! [UIGestureRecognizer]
if recognizer is UITapGestureRecognizer
recognizer.enabled = false
【讨论】:
【参考方案3】:斯威夫特 4.2 添加到 viewDidLoad()
for recognizer in self.gestureRecognizers
if recognizer is UITapGestureRecognizer
recognizer.isEnabled = false
【讨论】:
以上是关于我可以禁用 UIPageViewController 的页面边框手势识别器吗?并保持刷卡?的主要内容,如果未能解决你的问题,请参考以下文章