我有一个在后台不断运行的自定义类(NSObject)。在某些时候,它弹出一个UIAlertView,用户有两个选项。自定义类是UIAlertView的委托,因此处理按钮按下。
如果用户按下特定按钮,我想向用户呈现模态视图控制器。我的问题是,这都是从NSObject处理的。它不是从UIViewcontroller处理的,所以我想不出从这个并行运行的NSObject中呈现这个新的View Controller的方法。
我是否需要以某种方式确定哪个VC当前处于最顶层且处于活动状态以便在其上呈现新的VC?
答案 0 :(得分:7)
基本上你需要访问导航控制器的引用(假设你有一个)或类似的东西,比如AppDelegate来呈现视图控制器。如下所示:
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate.navigationController presentViewController:myNewViewController animated:YES completion:nil];