如果我想要基于页面的设计,哪个最好?

Posted

技术标签:

【中文标题】如果我想要基于页面的设计,哪个最好?【英文标题】:Which is best if I wanted Page based design? 【发布时间】:2014-03-28 06:39:32 【问题描述】:

哪一个更适合用于基于页面的设计,PageviewcontrollerUIScrollview 分页。

哪个会消耗更少的内存?我是通过UIScrollview 完成的;但它消耗了非常大的内存。任何帮助将不胜感激。

【问题讨论】:

这是基于意见的。但是,您应该考虑实现子视图的重用,以提高性能和内存效率。 如何在滚动视图中重用视图和内存效率 这个概念类似于UITableView单元重用。检查您是否可以使用UITableViewUICollectionView 实现所需的用户界面。如果没有,请考虑实现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 模式使其变得更简单,因此您可以专注于响应数据请求,而不必担心操作视图。

【讨论】:

以上是关于如果我想要基于页面的设计,哪个最好?的主要内容,如果未能解决你的问题,请参考以下文章

3 Swing 应用程序设计:哪个是最好的? [关闭]

移动端BI的设计

目前nodejs都有啥框架呢?哪个最好

如何在播放基于 Flash 的帖子时获得“想要查看更多内容”-“喜欢页面”按钮?

lovdbyless VS 社区引擎...哪个最好?

如何在 WatchOS 的基于页面的界面中显示警报?