没有父视图的presentViewController消失

时间:2012-12-03 12:46:39

标签: iphone user-interface

我有一个UIViewController,它上面 - 我使用presentViewController来呈现一个新窗口:

controller.view.frame = source;
[self presentViewController:controller animated:NO completion:nil];


[UIView animateWithDuration:ANIMATION_NORMAL_DURATION animations:^{

    controller.view.frame = target;


}completion:^(BOOL finished) {


}];

当我这样做时 - 父控制器(self)在新控制器(控制器)出现之前消失。它让它变得丑陋。

有没有更好的方法来实现它? (我不在那些ViewContollers中使用NavigationControler)

感谢。

2 个答案:

答案 0 :(得分:3)

从iOS7开始,有 modalPresentationStyle 属性。 将其设置为以下选项之一: UIModalPresentationOverFullScreen,UIModalPresentationOverCurrentContext,UIModalPresentationCustom

modalViewController.modalPresentationStyle = UIModalPresentationCustom;

答案 1 :(得分:0)

不存在,只需添加子视图

controller.view.frame = source;
//[self presentViewController:controller animated:NO completion:nil];
[self.view addSubview:controller.view];


[UIView animateWithDuration:ANIMATION_NORMAL_DURATION animations:^{

     controller.view.frame = target;

}completion:^(BOOL finished) {

}];