【发布时间】:2015-11-13 09:07:56
【问题描述】:
我正在构建一个主要内容是导航控制器的应用程序。但是,第一次加载应用程序时,我将另一个视图控制器推到该控制器之上(用户必须注册等)。这必须与导航控制器分开,因此用户不能只是回溯。目前,通过我的导航控制器进行导航仅在其他视图控制器未加载时有效。
如果需要,加载“注册”VC的代码:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
if ([prefs objectForKey:@"id"]) {
}
else {
RegisterViewController * rvc = [storyboard instantiateViewControllerWithIdentifier:@"registerVC"];
[self.navigationController presentViewController:rvc animated:NO completion:^(void){}];
}
注册完成后:
[viewCtrl dismissViewControllerAnimated:NO completion:^(void){
NSLog(@"VIEW DISMISSED PROPERLY");
}];
注意:viewCtrl 是被推送的 viewController。当导航控制器停止工作时,也会调用“视图已正确关闭”。所以我知道这个观点正在被驳回。
最后,将另一个页面正常推送到导航控制器的代码:
ContactViewController * cvc = [self.view.storyboard instantiateViewControllerWithIdentifier:@"contactVC"];
[self.view.navigationController pushViewController:cvc animated:NO];
重申一下,ContactViewController 仅在未加载注册页面时加载。
提前致谢。
【问题讨论】:
标签: ios objective-c uinavigationcontroller