如何呈现第二个ViewController并解除第一个

Tim*_*own 9 iphone viewcontroller

在父ViewController中使用以下代码,我想在第一个上面显示第二个视图,然后关闭第一个:

// Animates the next questionViewController using the first questionViewController
[previousView presentViewController:nextQuestionViewController animated:YES completion:nil];

// Dismiss the first questionViewController
[previousView dismissViewControllerAnimated:NO completion:nil];
Run Code Online (Sandbox Code Playgroud)

运行时,会显示第二个视图,但第一个视图不会被忽略.

Ber*_*n11 12

您需要首先关闭"previousView"然后显示"nextQuestionViewController":

// Dismiss the first questionViewController
[previousView dismissViewControllerAnimated:NO completion:nil];

// Animates the next questionViewController using the first questionViewController
[previousView presentViewController:nextQuestionViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

  • 遵循此答案会导致以下异常:`由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'应用程序试图以模态方式呈现活动控制器<FirstViewController:0x71cf520>。'` (2认同)

ade*_*der 5

尝试

[self dismissViewControllerAnimated:NO completion:nil];
Run Code Online (Sandbox Code Playgroud)

失败了:

[self.navigationController popViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)