iPad UIViewController是复杂界面的最佳实践

时间:2011-12-20 16:54:28

标签: ios ipad layout uiviewcontroller

我想开发一个iPad应用程序,使用如下链接所示的布局:

https://skitch.com/sparkoletto/g13ck/ipad-views-layout

正如您在一个页面上的图像中看到的,我想插入一个UITableView(B),两个UIScrollView(一个垂直(D)和一个水平(A))和一个简单的UIView(C)。

开发此类界面的最佳方法是什么?

最好使用单个ViewController来管理我需要的所有视图,或者为每个视图创建一个ViewController,然后将它们全部组合在另一个UIViewController中?

由于

2 个答案:

答案 0 :(得分:4)

我不同意@TomSwift。当这些事情变得复杂时,将它们分解为自己的视图控制器是非常有帮助的。您将创建一个正确类型的视图控制器,然后在某个时刻创建[self.view addSubview:vc.view]

制作一个复杂的视图控制器的问题在于,它成为了太多事物的委托和数据源,这些事物是各个子视图的内部细节。例如,您的委托方法现在需要检查哪个tableview与他们交谈。

将它们拆分也可以更轻松地管理旋转,特别是如果您希望在每个方向上显示不同的视图集。这对内存管理也很有用,因为VC可以自动卸载你不再使用的视图。

分解太小当然也是一个问题。具有单独的视图控制器是有成本的,特别是如果它们彼此交互。在适当的时候有一个良好的感觉是一个经验丰富的开发人员的标志。但是对于你展示的观点,我几乎肯定会分手。您的情况与UISplitViewController非常相似。

答案 1 :(得分:0)

可能是单个视图控制器,IMO,除非您计划在其他地方重用其中一些窗格。在这种情况下,您可以使用单个视图实现“容器视图控制器”来处理子视图控制器的布局。

通常,视图控制器管理“全屏”(或几乎全屏)视图。例外是相当罕见的 - UISplitViewController是一个。

相关问题