【问题标题】:Pass delete swipe gesture from UIPageViewController to UITableView将删除滑动手势从 UIPageViewController 传递给 UITableView
【发布时间】:2017-10-12 02:33:33
【问题描述】:

我在UIPageViewController 中有一个UITableView,滑动事件似乎没有传递给UITableView

我能够为我的UIPageViewController 禁用边缘弹跳,但我仍然没有找到一种方法来始终在我的UITableView 中启用滑动删除。

在此示例中,需要多次滑动才能显示删除按钮。这个手势在实际设备上非常挑剔

右侧页面之后没有其他页面,因此UIPageViewController 没有理由需要滑动。

viewDidLoad 我有:

for view in self.pageViewController.view.subviews {
    if let scrollView = view as? UIScrollView {
        scrollView.delegate = self
    }
}

下面是我:

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    return true
}

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
    print(gestureRecognizer)
    if gestureRecognizer is UISwipeGestureRecognizer {
        return false
    }else{
        return true
    }
}

有很多相关的帖子有不同的答案,但没有一个适合我的用例。

【问题讨论】:

标签: ios iphone swift uitableview


【解决方案1】:

您可以通过not使用datasource来禁用UIPageViewController的滑动,只需使用setViewControllers:direction:animated:completion方法提供内容。希望tableView的滑动可以工作。

【讨论】:

  • 我必须显示多个页面,所以我不确定如何在不完全拆开 UIPageViewController 的情况下实现这一点
猜你喜欢
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 2014-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多