我需要展示和关闭具有菜单动画的自定义视图控制器。我正在尝试以模态形式呈现它,但是错误消息告诉我我的开始/结束命令失衡等等,因此有很多麻烦。看起来它应该很简单,但实际上并非如此。因此,我正在查看有关自定义容器和子控制器等的文档,这似乎完全过分了,但是如果能够消除所有这些错误,我想这是值得的。

最佳答案

为了使视图控制器的内容对用户可见,必须将其与窗口关联。您可以通过多种方式在应用中执行此操作:

通过动画从另一个视图控制器呈现它

呈现的视图控制器不是特定类型的视图控制器,呈现的视图控制器可以是内容或具有附加内容视图控制器的容器视图控制器。在实践中,内容视图控制器专门设计为由另一个控制器呈现,因此将其视为内容视图控制器的变体可能会很有用。

在大多数情况下,您会提供视图控制器以从用户那里收集信息或出于某些特定目的吸引用户的注意。完成此目的后,呈现视图控制器将关闭呈现的视图控制器,并返回到标准应用程序界面。

使视图控制器成为容器的子代

视图控制器层次结构以单个父级(窗口的根视图控制器)开始。如果该视图控制器是容器,则它可能包含提供内容的子代。反过来,这些控制器也可以是带有自己的子代的容器。

标签视图控制器从窗口获取其大小。它为其选项卡栏保留空间,并将剩余空间留给其子级。如果导航控制器是当前显示的控件,它将为其导航栏保留空间,并将其余的交给其内容控制器。在每个步骤中,父级都会调整子级视图控制器的视图大小,并将其放入父级的视图层次结构中。

视图和视图控制器的这种组合还为应用程序处理的事件建立了响应者链。

关于ios - ViewControllers:呈现动画和添加为子级之间有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17745274/

10-12 00:18
查看更多