我有2 UIViewController's
与[self presentViewController:viewController animated:YES completion:nil];
一起呈现,我想解雇其中的第一个,没有动画(无论如何用户都看不到),第二个(当前可见)将被解雇后,用户将看到父视图控制器同时显示它们。
- Parent
- First -> Dismiss first without animation
- Second -> Dismiss second with animation
我该怎么做?
答案 0 :(得分:0)
使用当前视图控制器层次结构,如果第一个视图控制器将被关闭,它将自动关闭第二个视图控制器。如果您不希望该行为比使父项存在第二个视图控制器。您可以使用[self.presentingViewController presentViewController:secondViewController animated:YES completion:nil]
答案 1 :(得分:0)
你为什么要这样做?
您应该这样做,以获得更清晰的视图层次结构和更好的用户体验:
呈现第一个视图控制器:
[self presentViewController:viewController1 animated:YES completion:nil];
首先解雇&目前的第二个视图控制器:
__weak MyViewController *aBlockSelf = self;
[self dismissViewControllerAnimated:YES completion:^{
[aBlockSelf presentViewController:viewController2 animated:YES completion:nil];
}];