【问题标题】:UITableViewController horizontal swipe pagination?UITableViewController 水平滑动分页?
【发布时间】:2014-04-22 06:52:53
【问题描述】:

我正在尝试在我的 UITableViewController 中实现水平分页。每次滑动都会在 UITableView 中显示一组新的项目。

到目前为止,我已经尝试使用一组 UITableViewController、一个 UIScrollView 和一个 UIPageControl 来执行此操作。这可行,但有两个问题。

  1. 一开始就将所有 UITableViewController 加载到内存中效率不高。
  2. 滑动时 UITableView 仍会响应垂直滑动,因此会产生令人不快的效果。

可以在这里看到完全符合我要求的应用 https://itunes.apple.com/nz/app/nrl-live-scores-league-now/id382164737?mt=8

如何实现水平分页的 UITableView?

【问题讨论】:

  • 为什么不使用带有水平分页的 UICollectionView?使每个单元格的帧大小与全屏相同?
  • 因为每个UITableView有不止一个单元格...每个单元格最多可以有20个
  • 抱歉没有澄清 - 我的意思是将 UITableview 添加为每个集合视图单元格内内容视图的子视图。然后您可以在 tableview 中向上/向下滚动,并在 tableviews 之间向左/向右滚动(在集合视图内)。每个 tableview 只会在 cellForRowAtIndexPath 被调用时被实例化,所以需要保持对它们的引用。但是,您需要对每个 uicollectionviewcell 中的每个 uitableview 进行强引用。

标签: ios objective-c uitableview xamarin.ios


【解决方案1】:

我最近使用UIPageViewControllerUITableViewController 的内容做了一个非常相似的行为。这很容易实现。

举个例子:

您需要一个实现UIPageViewControllerDataSource 协议的UIPageViewController。 dataSource 要求提供方法:

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController
  viewControllerBeforeViewController:(UIViewController *)viewController;

- (UIViewController *)pageViewController:
                      (UIPageViewController *)pageViewController
   viewControllerAfterViewController:(UIViewController *)viewController;

您只需要返回显示您的内容的UITableViewController 实例。 刷卡等是UIPageViewController的默认行为

有关更详细的示例,请查看此tutorial,它对我有很大帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-31
    • 2014-08-16
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    相关资源
    最近更新 更多