【发布时间】:2015-06-03 09:18:41
【问题描述】:
我收到了 View A present -> Modal View B, B present -> Modal View C Modal View D -> Modal View E 。这是一个主视图A,然后是模态视图的继承。
所以每次我呈现新的模态 C 或 D 我都想关闭前一个模态(这样当我关闭新呈现的模态时,它会显示主视图 A 始终不是前一个模态)。
- 如果我在 B 并且我想展示 C,那么我必须先展示 C 然后在后台我解雇 B。
- 如果我在 C 中并且我想呈现 E,那么我先呈现 E,然后再呈现 在后台关闭 C
我试过这段代码:
if (_openNextView) {
if ([[NSUserDefaults standardUserDefaults] stringForKey:@"generatedCode"]) {
NSLog(@"generated Code %@ : ", [[NSUserDefaults standardUserDefaults] stringForKey:@"generatedCode"]);
NSLog(@"phone Number %@ : ", [[NSUserDefaults standardUserDefaults] stringForKey:@"phoneNumber"]);
// Present C View
RegisterSecondViewController *registerSecond = [[RegisterSecondViewController alloc] initWithNibName:@"RegisterSecondViewController" bundle:nil];
//[self presentNatGeoViewController:registerSecond];
[self presentViewController:registerSecond animated:YES completion:nil];
} else {
RegisterFirstViewController *registerFirst = [[RegisterFirstViewController alloc] initWithNibName:@"RegisterFirstViewController" bundle:nil];
//present D view
//[self presentNatGeoViewController:registerFirst];
[self presentViewController:registerFirst animated:YES completion:nil];
}
// Dismiss privious View (the current view before presenting new one)
[self.parentViewController dismissViewControllerAnimated:YES completion:nil];
我还可以在新呈现的模态视图中添加此代码
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
但是没有用,视图也没有被关闭
【问题讨论】:
-
你为什么使用模态?
-
哦,对不起,我没注意它的注册系统,它可以从任何视图(如弹出窗口)中显示,有时用户可以跳过步骤但不能返回。你觉得这不是个好选择吗?
标签: ios objective-c cocoa cocoa-touch