2014-11-24 44 views
1

我打算开发一个由多个页面组成的检查列表应用程序。每个页面将显示简单的是/否问题列表以及页面底部的“下一步”按钮。什么是最佳实践:多个UIViews或多个UIViewControllers

在应用设计方面我看到两个选项

  1. 一个UIViewController用整版UIViews(分层,z轴)的堆栈。从第1页切换到2我会用sendSubviewToBack

  2. 一个UIViewController页。从第1页切换到第2页我将介绍新的ViewController。

问题:什么是这两种方法的优点和缺点。我监督的其他选项?你有什么经验和建议?

+1

你在问一个非常宽泛的问题。这与iOS UI代码设计有关,而不是关于特定的编码问题。不要指望在这里得到很多答案。我对你的简短回答是使用多个视图控制器。开始研究这个项目,你会看到他们带来的好处。 – 2014-11-24 16:47:34

回答

0

苹果选择每页方法的一个视图控制器it's implementation of the same idea。这可能部分是为了最大化普遍性 - UIPageViewController的不同用户显然会有不同的需求。但另一个考虑因素是记忆;如果在多个子视图方法中有几十页,则会有几十个完整页面的子视图,这是在任何给定时间使用远远超过实际需要的内存的快速方法。

如果你做一个单一视图控制器和多个子视图去,考虑实例子视图只因为你需要他们,并删除你不从视图层次需要的人。事实上,由于听起来您的所有网页都使用相同的格式(清单),因此您很难看出为什么您需要的页面不止一个视图。当用户选择一个不同的页面时,您只需给该视图一组新的数据进行绘制。

0

假设你知道如何编写好的代码(重用的意见/视图控制器),他们应该有相同的优点和缺点一样。赞成UIViewController办法

一个亲的是,它很可能会导致更干净的代码。您还可以查看生命周期事件,如viewDidLoad,viewWillAppear,viewDidAppear等,它们可以让您更清楚地了解发生的情况。

0

我认为这取决于你的意见。如果两者都与数据具有相同的行为,我将只使用一个UIViewController。如果你不得不做更多不同的治疗,我会用两个UIViewController

使用两个也使它们之间的漂亮过渡更容易(由iOS处理)。如果你使用一个,也许你应该使用UIScrollView并在里面添加两个视图并以编程方式滚动。

而另一种方式来做到这一点是使用UITableView直接在一个视图中显示所有的DATAS。