访问 UIPageViewController 手势识别器以启用滑动删除
Access UIPageViewController gesture recognizer(s) to enable swipe to delete
我正在尝试将 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
它在哪里 and/or 是否有更好的解决方案来实现 UITableView
在 UIPageViewController
中的滑动删除功能?
手势附加到它的scrollView,这个不是public属性。无论如何,我使用这个扩展来获取 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
我正在尝试将 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
它在哪里 and/or 是否有更好的解决方案来实现 UITableView
在 UIPageViewController
中的滑动删除功能?
手势附加到它的scrollView,这个不是public属性。无论如何,我使用这个扩展来获取 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