ECSlidingViewController

ECSlidingViewController

在我的应用程序中,我有一个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/

10-09 16:27