我希望了解从 A 或 B 过渡到 UITabBarController D(我的应用程序中的主界面)的“最佳”方式 - 有条件地通过 C。
这意味着我希望以下所有内容都有效。
A -> C -> D
A -> B -> C -> D
A -> B -> D
A -> D
C 是一个模态对话框,如果用户没有在他们的个人资料中设置它,它基本上会询问用户缺少的信息。
我试过了:
在 D 的 viewDidLoad 函数中使用从 D -> C 触发的模态序列:
([self performSegueWithIdentifier:@"ShowNumberDialog" sender:self];)
在 viewDidLoad 函数中以编程方式将 C 显示为 D 上的模态:
(void)viewDidLoad { [super viewDidLoad]; NSString *deviceNumber = [[UserModel sharedSingleton] deviceNumber]; if ([deviceNumber isEqual:[NSNull null]]) { UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"NumberDialog"]; [vc setModalPresentationStyle:UIModalPresentationFullScreen]; NSLog(@"Showing device number dialog"); [self presentModalViewController:vc animated:NO]; } }
这些,加上我所做的无数其他“hacky”尝试似乎都没有奏效。所以我假设我不了解我应该这样做的方式的基本内容。有人可以推荐一个更好的方法吗?