访问UIPageViewController手势识别器以启用滑动删除

时间:2017-01-16 21:56:52

标签: ios uitableview uipageviewcontroller

我试图在UITableView工作中与UIPageViewController的分页机制一起滑动删除。我想设置UIPageViewController的手势识别器,以便我可以更改它的委托并实施:

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
    if let _ = touch.view as? UITableViewCell {
        return false
    }

    return true
}

我的问题是我找不到UIPageViewController的手势识别器。我试过看:

myPageViewController.gestureRecognizers
myPageViewController.view.gestureRecognizers

myPageContentViewController.gestureRecognizers
myPageContentViewController.view.gestureRecognizers

它在哪里和/或是否有更好的解决方案来实施UITableView的滑动以删除UIPageViewController中的功能?

1 个答案:

答案 0 :(得分:2)

手势附加到其scrollView,而这个手势不是公共属性。无论如何,我使用此扩展来获取scrollView:

extension UIPageViewController {

    public var scrollView: UIScrollView? {
        for view in self.view.subviews {
            if let scrollView = view as? UIScrollView {
                return scrollView
            }
        }
        return nil
    }

}

然后你想要它的panGesture:

pageController.scrollView?.panGestureRecognizer
相关问题