Eik*_*iko 5 design-patterns uiviewcontroller uiview ios
目前我以编程方式设置了大部分UI.有两种方法可以安排属于屏幕的视图(另外还有使用nib):
我知道两者都有效,但在哪种情况下你会选择哪种解决方案?
此外,对于第一个变体,可以选择在viewDidLoad中进行设置并将视图添加到self.view,或者构建容器视图并在loadView中添加所有视图.这里的任何好建议也将不胜感激.
当您将完整视图设置为控制器视图时,第二个变体接近使用nib.
不打算在这里开始宗教战争,而是寻找两种方法的论据.
我可以想出几个标准来选择一个选项或另一个选项。
如果视图集是或可能是在许多屏幕上显示的可重用组件,我会倾向于创建 UIView 子类。
如果视图控制器需要直接访问多个视图,我会在控制器中构造它们。我尝试使自定义 UIView 类不透明容器,以便它们的控制器只需要与父视图交互,而不是通过其子视图进行挖掘。
如果视图集不能提供处理单个概念的 API,例如,如果视图层次结构的存在只是为了正确设置视图的 z-index,并且这些视图处理显示不相关的数据,那么我将再次在控制器。UIView 子类应该负责仅显示一组连贯的数据,或者以一致的方式管理一组子视图。
如果视图需要相对于其层次结构之外的视图进行定位,我会再次赞成在控制器中定义它们。
| 归档时间: |
|
| 查看次数: |
1741 次 |
| 最近记录: |