【问题标题】:iOS - How to present large number of views with the same layout?iOS - 如何以相同的布局呈现大量视图?
【发布时间】:2014-01-30 02:58:08
【问题描述】:

这是我想要实现的目标: 1)呈现相当多的屏幕(大约十几个),布局相同但信息不同。 (基本上是一组针对不同事件的信息页面——动态设置) 2)用户应该能够使用滑动在页面之间移动,并且过渡应该是动画的 3) 我更喜欢从单个视图控制器管理所有数据。

实现这一目标的最佳方法是什么?我想在内存中只保留两个视图,当用户滑动时动态更新当前不可见视图的内容,然后从一个视图动画到另一个视图。我应该使用其中一个容器视图控制器吗?

谢谢!

【问题讨论】:

    标签: ios uiview uiviewcontroller


    【解决方案1】:

    听起来您应该考虑使用 UIPageViewController。它是一个父视图控制器,它管理一组子视图控制器,每个子视图控制器都显示一页内容。

    每个页面都是您创建的同一类内容视图控制器的一个实例。

    页面视图控制器使用数据源和委托,就像表格视图一样。

    Xcode 文档中有一个名为 PhotoScroller 的应用程序,它展示了如何使用滑动手势来设置页面视图控制器来切换页面。在显示照片的视图控制器中,它比您需要的复杂得多(这些照片是大的平铺图像,而照片视图控制器有一堆您可以忽略的管理平铺图像的代码。)

    【讨论】:

    【解决方案2】:

    我可能会使用具有足够大的单元格以占据整个屏幕的 UITableView。这将为您处理重用视图(UITableViewCells),并且您需要在用户滑动时禁用 tableview 滚动并实现分页。

    如果你想要一个水平滚动的tableview,对tableview的图层应用旋转平移,然后对每个单元格应用反向旋转平移。

    另外,我相信 iCarousel 将处理视图重用。

    【讨论】:

    • 呃。真是一团糟。当 UIPageViewController 完成 OP 想要的一切时,为什么要通过这种扭曲来放置表格视图? UICollectionView 不是为 OPs 问题量身定做的,但它肯定比具有屏幕大小的单元格和旋转变换的表格视图要好得多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多