在我的应用程序中,我有一个ECSlidingViewController
通过Storyboard
声明为初始根控制器。在我的AppDelegate的didFinishLaunchingWithOptions
方法中,我如上所述进行实例化:
self.slidingController = [[UIStoryboard storyboardWithName:@"AppStoryboard" bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"ECSlidingViewController"];
我想要的是能够显示全局模态视图控制器(例如,当应用程序处于 Activity 状态时推送通知到达),而无需知道哪个控制器当前位于滑动控制器的顶部。
我要做的是(在我的AppDelegate中):
[self.slidingController.topViewController presentModalViewController:controller animated:YES];
但它似乎不起作用。
有什么方法可以从我的滑动控制器呈现一个模态控制器,而不管哪个控制器是topViewController?
PS。如果没有,我想要的东西是否有可能与
SWRevealViewController
而不是ECSlidingViewController
一起使用?如果值得的话,我将走痛苦的道路来改变。先感谢您!
最佳答案
如果将ECSlidingViewController设置为情节提要中的初始视图控制器,那么为什么要在应用程序委托代码中实例化另一个?这样,您将在与情节提要在屏幕上显示的实例不同的ECSlidingViewController实例上调用方法。这可能是您问题的根源。而是像这样获取对您的ECSlidingViewController的引用:
self.slidingController = self.window.rootViewController;
然后尝试
self.slidingController.topViewController presentModalViewController:controller animated:YES];
要么
self.slidingController presentModalViewController:controller animated:YES];
我尚未使用ECSlidingViewController,所以我不知道其中哪个可能有效。
关于ios - 来自ECSlidingViewController的当前模态视图 Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16035359/