如何从内容ViewController呈现UIViewController?

时间:2014-02-01 09:12:53

标签: ios objective-c viewcontroller

我得到了包含其他VC组合的menuVC,其中一个是loginViewController,如何从menuVC转到loginViewController?或者它是从方法加载VC的最佳方法?我的代码:

MenuViewController * menuViewController = [storyboard instantiateViewControllerWithIdentifier:@"MenuViewController"];
 [menuViewController presentViewController:menuViewController.loginViewController animated:YES completion:nil];

我可以这样做:

UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
MenuViewController * menuViewController = [storyboard instantiateViewControllerWithIdentifier:@"MenuViewController"];
[menuViewController showLoginViewController];

有错误:警告:尝试显示其视图不在窗口层次结构中!

1 个答案:

答案 0 :(得分:0)

当应用尚未在视图中显示时,您无法以模态方式呈现视图控制器。您可以在菜单视图控制器的viewDidAppear方法中显示它。您必须在viewDidAppear中执行此操作,而不是在viewDidLoad或viewWillAppear中,因为您在其中显示的视图不在当前窗口层次结构中,基本上与您在应用程序委托中执行的问题相同。如果您希望在应用启动时已经显示它,请选择将动画设置为NO。如果您需要更多帮助,请告诉我。