我试图与UIPageViewController的分页机制一起滑动删除UITableView工作.我想设置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中的功能?
最佳答案 手势附加到其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