如何在iOS 7+中使用当前的ViewController设置PresentingViewController

时间:2014-12-15 14:00:22

标签: objective-c appdelegate presentviewcontroller

在我的iOS 7+应用中,我使用最新版本的Harpy,它会执行应用版本检查并在App Store中提供我的应用的新版本时发出提醒。

由于我的应用程序的结构,我在调试器中遇到了这个问题:

Attempt to present <UIAlertController: 0x144538530> on <DCLoginViewController: 0x14460c1a0> whose view is not in the window hierarchy!

这是因为在AppDelegate中配置了harpy并且有一个定义presentViewController的参数:

[[Harpy sharedInstance] setPresentingViewController:_window.rootViewController];

我认为问题出现是因为我的应用程序检查用户是否已经登录,如果是,而不是呈现DCLoginViewController,它会跳转到下一个视图&#34; LoadingViewController&#34;。

如何在执行时将presentViewController设置为此LoadingViewController或者当前在屏幕上的ViewController?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您无需在AppDelegate中启动 Harpy 。您可以在LoadingViewController加载后启动它。我们只建议在AppDelegate中启动它,因为想法是在加载应用程序后立即显示警报。它更像是一种用户体验,而不是其他任何东西。