如果我添加一个子视图控制器,并使用它来呈现另一个视图控制器,整个根视图将被替换?

时间:2012-09-22 21:09:26

标签: iphone ios ios5 uiviewcontroller uikit

在iOS 5上,如果我添加一个子视图控制器addChildViewController并添加其视图,例如,在(0,100)并覆盖整个底部屏幕,然后在这个新的子视图控制器中,使用带有翻转动画的presentViewController的另一个视图控制器,我想只有子视图会翻转并呈现一个新视图,但事实证明整个视图(整个屏幕除了状态栏)都被翻转了?

我认为他们以“自足的方式”工作?也就是说,如果子视图控制器呈现另一个视图控制器,则替换子视图控制器的视图,而不是根视图?

(因此,如果呈现的视图控制器的视图具有黄色背景,现在除状态栏之外的整个屏幕都具有黄色,而不仅仅是从(0,100)开始并覆盖底部屏幕的子视图控制器视图)

2 个答案:

答案 0 :(得分:5)

设置childViewController.definesPresentationContext = YES

答案 1 :(得分:1)

如果您只想翻转子视图控制器,则需要将控制器的视图添加到根视图控制器的视图层次结构中(phew!说2x一样快!)然后使用{{1}动画来动画它们。

UIView