关闭/显示模态视图控制器 - 再次viewdidLoad正在调用

时间:2012-02-25 05:45:18

标签: iphone objective-c ios uiview

当我点击下面的按钮informationBtn_clicked时,我遇到了一个奇怪的问题。 InformationView即将来临。

的MainView

-(IBAction)informationBtn_clicked:(id)sender{
       InformationView  *obj_Info=[[InformationView alloc] initWithNibName:@"InformationView" bundle:nil];
       UINavigationController *navigationObj = [[UINavigationController alloc] initWithRootViewController:obj_Info];
       [self.navigationController presentModalViewController:navigationObj animated:YES];
}

新思维

在下面后面点击btn点击取消视图控制器;

-(void)btnBackClicked:(id)sender{
    [self dismissModalViewControllerAnimated:YES];
}

在这里,我的问题是当我解除NextView时,再次调用主视图viewDidLoad方法。我的项目在iOS 5中运行,我正在使用ARC。

我正在检查释放obj_Info的一种方式,但结果相同的PLZ帮助我,我的英语很差,试着理解我。

2 个答案:

答案 0 :(得分:1)

问题在于:

UINavigationController *navigationObj = [[UINavigationController alloc] initWithRootViewController:obj_Info];

使用obj_Info初始化导航控制器作为根视图控制器。因此,当您关闭模态视图控制器时,导航控制器会显示其根视图控制器,该控制器恰好与模态视图控制器相同。

尝试更改我提到的行:

UINavigationController *navigationObj = [[UINavigationController alloc] init];

答案 1 :(得分:0)

他给你的链接显示Apple的代码中可能存在与您的问题相关的错误。现在,也许只是解决方法(例如在viewDidLoad中,设置一个布尔值,然后在viewDidUnload中清除它;如果在输入viewDidLoad时设置它,则返回)