我有一个主UINavigationController,它执行Partial Curl segue来显示一组开/关开关。一些开/关开关必须确保存在配置变量(如foursquare)。如果这些配置不存在,那么我想推送另一个身份验证Segue(再次,foursquare)。现在,如果我从Partial Curl segue上的ViewController执行以下操作
FoursquareAuthViewController *controller = [[FoursquareAuthViewController alloc] init];
[self presentModalViewController:controller animated:YES];
FoursquareAuthViewController将在Partial Curl后面。正确使用这项工作的最佳方法是什么 - 即。让FoursquareAuthViewController占据整个屏幕 - 最好是从模态segue?
我正考虑将源控制器作为委托传递给Partial Curl控制器,然后在翻转开关时检查配置是否存在。如果没有,则触发委托推送FoursquareAuthViewController。这样做似乎有点傻...
更新
尝试以下任何一种方法实际上都没有做任何事情。
FoursquareAuthViewController *controller = [[FoursquareAuthViewController alloc] init];
[[[self presentingViewController] navigationController] pushViewController:controller animated:true];
FoursquareAuthViewController *controller = [[FoursquareAuthViewController alloc] init];
[[self presentingViewController] presentModalViewController:controller animated:YES];
答案 0 :(得分:0)
我不确定从源视图控制器而不是从交换机视图控制器呈现您的Foursquare登录视图控制器是否有帮助。但如果确实如此,则不需要传递视图控制器的“愚蠢”情况:从交换机视图控制器,您可以引用self.presentingViewController
来获取源视图控制器。