0

在我的应用程序中,我提出了一个UINavigationController以 aUIViewController作为其rootViewController. 我以形式风格来做。我添加了第二个UIViewController,它也是表单样式,我可以很好地推动它。但是,当我popViewController在第二个弹出到第一个之后执行操作时UIViewcontroller,整个模态呈现的内容UIViewController都会被忽略。但是我不执行任何解雇,解雇功能也不会被意外触发。

任何想法为什么会发生?

真挚地,

佐利

编辑:

这就是我用导航控制器呈现模态视图控制器的方式:

if(!welcomeScreenAlreadyPresented) {

    welcomeScreenViewController = [[WAWelcomeViewController alloc]init];
}

welcomeScreenNavController = [[UINavigationController alloc]initWithRootViewController:welcomeScreenViewController];
[welcomeScreenNavController setModalTransitionStyle: UIModalTransitionStyleCrossDissolve];
[welcomeScreenNavController setModalPresentationStyle:UIModalPresentationFormSheet];
[welcomeScreenNavController setNavigationBarHidden:YES animated:NO];

[self.navigationController presentViewController:welcomeScreenNavController animated:YES completion:nil];

这就是我在 WAWelcomeViewController.m 中导航的方式

registerViewController = [[WARegisterViewController alloc]init];

[self.navigationController pushViewController:registerViewController animated:YES];

在 WARegisterViewController.m 这就是我弹回的方式

[self.navigationController popViewControllerAnimated:YES];
4

1 回答 1

1

您需要做的是将要推送的 viewController 放入另一个UINavigationController.

registerViewController = [[WARegisterViewController alloc]init];
UINavigationController *modalNavigationController = [[UINavigationController alloc] initWithRootViewController:registerViewController]; // autorelease if you are not using ARC

[self presentViewController:navController animated:YES completion:^{}];

您可能希望将其添加modalNavigationController为属性以供以后调用popViewControllerAnimated:

于 2013-08-27T15:12:40.237 回答