重置模态视图控制器

时间:2011-05-25 13:22:08

标签: objective-c modalviewcontroller

我有一个启动进程的模态视图控制器。如果我关闭模态视图控制器,然后重新打开它,它将从它停止的位置继续。我想要的是(解雇后)重置模态视图控制器,取消所有处理并将其重置为初始状态。有办法吗?

干杯

3 个答案:

答案 0 :(得分:2)

不要将UIViewController子类对象保存在ivar中,只要alloc] init]每次要呈现一个新对象。

答案 1 :(得分:2)

对不起,如果我会说一些明显的事情,但我花了一些时间来弄清楚如何做到这一点:

  

不要将UIViewController子类对象保存在ivar中,只要alloc] init]每次要呈现一个新对象。

在我的情况下,我在MasterViewController.h中有这段代码

@property (strong, nonatomic) ContactsDetailViewController *detailViewController;

和MasterViewController.m中的这个

@synthesize detailViewController = _detailViewController;

if (!self.detailViewController) {
self.detailViewController = [[ContactsDetailViewController alloc] 
            initWithNibName:@"ContactsDetailViewController" 
            bundle:nil];
}

您应该删除此代码并使用下一个代码,您可以在其中推送模态视图控制器:

ContactsDetailViewController *detailViewController = [[ContactsDetailViewController alloc] initWithNibName:@"ContactsDetailViewController" bundle:nil];
detailViewController.title = @"View Controller"; // for example
[self.navigationController pushViewController:detailViewController animated:YES];

注意:我在这个项目中使用ARC

希望它会对某人有所帮助

答案 2 :(得分:0)

在用于模态视图的viewController的viewDidUnload方法中,尝试停止任务。