提出新的模态视图控制器然后关闭旧的模态视图控制器

时间:2012-03-01 20:13:18

标签: objective-c ios

我想解雇我当前的视图控制器然后加载一个新的视图控制器。这似乎应该有效:

FieldReportViewController *fieldReport = [self.storyboard instantiateViewControllerWithIdentifier:@"fieldReportView"];
[self presentModalViewController:fieldReport animated:YES];

[self dismissModalViewControllerAnimated:NO];

我呈现新模态,然后贬低旧模态。但旧的实际上并没有被解雇。

任何想法我怎么能完成这个或为什么这不起作用?

3 个答案:

答案 0 :(得分:0)

你没有解雇旧的模态视图控制器....你正在解雇你刚刚提出的新模式。首先尝试解除模态视图控制器。

答案 1 :(得分:0)

首先在呈现下一个之前解除旧视图或使用实际名称而不是“self”

添加以下代码:

 #import "class of the to dismiss view.h"
 @class class of the to dismiss view

答案 2 :(得分:0)

当您呈现模态视图控制器时,根据您正在使用的iOS版本,您将第一个模态的属性modalViewControllerpresentingViewController设置为第二个模态并添加第二个模态查看控制器到视图层次结构。如果您成功删除了第一个模态,则第二个模态将不再附加到任何视图层次结构。

您可能需要考虑的是使用单个视图控制器并仅替换该模态视图的视图。我想这会给你你想要的东西。

或者,您应该忽略第一个模态,并从前一个视图控制器中显示第二个模态。