UIPageViewController 或启用分页的 UIScrollView = YES

UIPageViewController OR UIScrollView with Paging Enabled = YES

我对下面应该如何实施有点困惑,

我需要在 UIViews 或 UIViewControllers 之间滚动 每个都有不同的数据集显示。例如,第一个视图有一个 UITableView,其他只有一个按钮,第三个视图可能再次有一个 UITableView。

我应该使用 UIPageViewController 并为每个内容加载不同的 UIViewControllers 还是使用 UIScrollView with contentSize = number of pages

在我当前的实现中。我使用了 UIScrollView,它在不同的 UIView 之间滚动并加载它们的内容。但是,问题是当我在其中一个视图中点击 UITableView 时,点击事件不会被 UITableView 捕获,但 UIScrollView 会捕获触摸事件。

我确实尝试将我的 UITableView 放在前面,

 myTable.becomeFirstResponder()
 scrollView.bringSubviewToFront(myTable)

 scrollView.delaysContentTouches = false
 scrollView.canCancelContentTouches = false

我在 UITableView 上添加了一个 UITapGestureRecognizer,但它不接收点击事件。如果我在其上添加 UITapGestureRecognizer,UIScrollView 会收到一个点击事件。

我当前的视图层次结构是,

UIScrollView -->
              UIView --> 
                       UITableView
              UIView -->
                       UIButton and other subViews
              UIView --> 
                       UITableView

注意:我希望此滚动视图或分页视图仅作为我的主视图控制器的一部分。 (我主要观点的一半)

请指导我完成这个。

我自己找到了解决方案,

我只需要从需要 UITableView 的层次结构中删除 UIView。 所以现在我的视图层次结构变成了,

UIScrollView -->

          UITableView --> 

          UIView -->
                   UIButton and other subViews
          UITableView -->