UIPageViewController或带启用分页的UIScrollView = YES

时间:2015-11-13 12:17:14

标签: ios swift uitableview uiscrollview uipagecontrol

我对下面的实施方式感到有些困惑,

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

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

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

我确实尝试将我的UITableView带到前面,

 myTable.becomeFirstResponder()
 scrollView.bringSubviewToFront(myTable)

 scrollView.delaysContentTouches = false
 scrollView.canCancelContentTouches = false

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

我目前的观点是heirarchy,

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

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

请指导我完成这个。

1 个答案:

答案 0 :(得分:0)

我自己找到了解决方案,

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

UIScrollView -->

          UITableView --> 

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