ios - 从 NSObject 呈现 UIViewController

标签 ios objective-c uiviewcontroller modalviewcontroller presentmodalviewcontroller

我的数据模型中发生了一些事情,我需要展示一个通过 Storyboard 实例化的模态视图 Controller 。

我怎样才能做到这一点?我需要从一个 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];

最佳答案

r您可以通过从应用程序的窗口获取 rootView Controller 然后在该 VC 上调用 presentViewController 来做到这一点。

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

关于ios - 从 NSObject 呈现 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19438538/

相关文章:

iphone - loadView 在内存警告后无法正确加载我的 View

ios - 多个 View Controller 上的 SWReveal 菜单

ios - Swift - 如何从 ModalPopupController 重新加载 ViewController

ios - UIView 摆动

ios - 预期返回 'UIImage' 的函数中缺少返回值

ios - AFNetworking空请求正文

objective-c - SOLID 原则如何应用于 Objective-C 中的方法覆盖?

objective-c - Swift 类在 Objective-C .h 文件中不可见

ios - 如何使用 swift 中的自定义按钮选择表格 View 中的所有单元格?

iphone - 从字典中的字符串创建 NSString