从NSObject呈现一个UIViewController

时间:2013-10-17 22:40:03

标签: ios objective-c uiviewcontroller modalviewcontroller presentmodalviewcontroller

我的数据模型中发生了一些事情,我需要提供一个通过故事板实例化的模态视图控制器。

我该怎么做?我需要从NSObject中呈现一个模态VC,显然presentViewController是一个UIViewController方法。

最好的方法是什么?

UIStoryboard *mainStoryboard = [(AppDelegate *) [[UIApplication sharedApplication] delegate] storyboard];

NewMessageListenPopupVC *popupVC = [mainStoryboard instantiateViewControllerWithIdentifier:@"NewMessageListenPopupVC"];

[self presentViewController:popupVC animated:YES completion:nil];

修改

代码我可能最终会使用:

UIStoryboard *mainStoryboard = [(AppDelegate *) [[UIApplication sharedApplication] delegate] storyboard];

NewMessageListenPopupVC *popupVC = [mainStoryboard instantiateViewControllerWithIdentifier:@"NewMessageListenPopupVC"];

UIViewController *rootVC = [[(AppDelegate *) [[UIApplication sharedApplication] delegate] window] rootViewController];
[rootVC presentViewController: popupVC animated:YES completion:nil];

1 个答案:

答案 0 :(得分:0)

你可以通过从应用程序窗口获取rootView控制器,然后在该VC上调用presentViewController来实现这一点。

UIViewController *vc = [window rootViewController];
[vc presentViewController: yourVC animated:YES completion:nil];