iOS在子视图之间切换常见模式

时间:2016-03-21 02:22:26

标签: ios cocoa-touch uiview interface

iOS应用程序中的小子视图之间是否有任何通用模式?例如,我正在制作某种图像编辑应用程序,我有像panel view in interface builder这样的仪器面板视图。

当按下底部面板中的相应按钮时,我希望在此视图的右上区域中更改滑块和图标的不同视图。在这种情况下,哪种方法更好? 使每个子视图都有一个xib并在每次按下按钮时加载它们?

在界面生成器中创建子视图并在按下按钮时隐藏除了一个以外的所有子视图?也许有一些方便的方法来做到这一点? 我正在使用自动布局;我应该如何处理约束以使内容居中并使其填充其区域?

1 个答案:

答案 0 :(得分:0)

我首选的方法是:

1)在视图控制器中创建容器视图

2)为每个子视图创建独立的视图控制器(如果您的子视图是交互式的并且具有自己的一些控件和逻辑,这是有意义的)。我喜欢在我的故事板中创建它们,给它们一个自定义大小来帮助你在Interface Builder中设计它们,然后使用[storyboard instantiateViewControllerWithIdentifier:]在代码中加载它们。

3)添加子视图控制器,确保可见的控制器位于顶部(通过执行类似[self.containerView bringSubviewToFront:childVC1.view]的操作。

4)当您在子VC之间切换时,将当前视图的视图置于前面。

5)。对于父级和子级VC之间的通信,您可以使用委托,以防止保留周期。