如果我想要基于页面的设计,哪个最好?
Posted
技术标签:
【中文标题】如果我想要基于页面的设计,哪个最好?【英文标题】:Which is best if I wanted Page based design? 【发布时间】:2014-03-28 06:39:32 【问题描述】:哪一个更适合用于基于页面的设计,Pageviewcontroller
或 UIScrollview
分页。
哪个会消耗更少的内存?我是通过UIScrollview
完成的;但它消耗了非常大的内存。任何帮助将不胜感激。
【问题讨论】:
这是基于意见的。但是,您应该考虑实现子视图的重用,以提高性能和内存效率。 如何在滚动视图中重用视图和内存效率 这个概念类似于UITableView
单元重用。检查您是否可以使用UITableView
或UICollectionView
实现所需的用户界面。如果没有,请考虑实现UIScrollView
重用。查看Advanced ScrollView Techniques WWDC 2011 视频。
【参考方案1】:
在应用程序中使用UIScrollView
并不是一件容易的事。对于 ios 6,您应该使用 UIPageViewController
。但是对于 iOS 5,UIPageViewController
就不是很好了,因为它只提供了页面转换的滚动。
然后您可以重复使用 UIScrollView
视图,
SO 中有很多例子,比如this
【讨论】:
【参考方案2】:很难说哪个是“最好的” - 这取决于什么对您的应用有意义。无论您选择哪种方法,都可以通过在需要时将内容“延迟加载”到滚动视图中来最小化内存消耗。例如,如果您正在显示图像页面并且图像作为文件存储在您的应用程序中,那么您应该只添加当前图像和当前图像任一侧的图像。滚动时,您可以加载和添加下一张图片并发布。
这是一个使用 UIScrollView 展示这种方法的教程-Multiple virtual pages in a UIScrollView with just 2 child views
UIPageViewController 通过采用 dataSource 模式使其变得更简单,因此您可以专注于响应数据请求,而不必担心操作视图。
【讨论】:
以上是关于如果我想要基于页面的设计,哪个最好?的主要内容,如果未能解决你的问题,请参考以下文章