1

我有一个 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) {


}];

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

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

谢谢。

4

2 回答 2

3

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

modalViewController.modalPresentationStyle = UIModalPresentationCustom;

于 2015-03-20T15:11:16.260 回答
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) {

}];
于 2012-12-03T13:00:38.840 回答