我有一个splitviewcontroller,如果需要登录,它会调用loginview控制器。这就是我所谓的模态视图
if([[NSUserDefaults standardUserDefaults] objectForKey:@"username"] == nil){
[self performSegueWithIdentifier:@"LoginSegue" sender:self];
}
这就是我的故事板的样子:
--- uinavigation
- masterview |
uispliviewcontroller
- detailview |
--- main dashboard view -(LoginSegue)--loginviewcontroller
|
|------ another viewcontroller
现在我可以毫无问题地访问loginview,然后我会尝试解除模态,以便它可以使用此回到maindashboard视图
if([[NSUserDefaults standardUserDefaults] objectForKey:@"username"] != nil){
[self dismissViewControllerAnimated:YES completion:nil];
}
但它不会做任何事情。
想知道如何正确地解除登录后调用的模态视图?
非常感谢任何建议。
感谢!!!
答案 0 :(得分:3)
对于登录,模态演示可能更有意义。不要将它与segue连接,而是给LoginViewController一个Storyboard ID,比如“LoginViewController”。 (删除segue到它,在storyboard中选择登录vc并在身份检查器中找到storyboard id字段。)
然后,代替performSegue
,这样做......
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
[self presentViewController:vc animated:YES completion:^{}];
完成此操作后,解雇将按照您的预期运作。