如何打开OAuth弹出窗口(窗口层次结构)

时间:2015-02-25 17:39:13

标签: ios objective-c xcode oauth oauth-2.0

这部分的实现应该非常简单(但事实并非如此)

我将OAuthIODelegate实现到LoginViewController中,但问题出在我运行此代码时:

OAuthIOModal *oauthioModal = [[OAuthIOModal alloc] initWithKey:@"the_key" delegate:self];
[oauthioModal showWithProvider:@"facebook"];

然后我明白了:

  

警告:尝试显示OAuthIOModal:0x14ecc8e0   MenuViewController:0x14eb8d80,其视图不在窗口中   层次!

这个问题是我甚至没有在MenuViewController上调用它。

出于测试目的,我从MenuViewController调用LoginViewController,然后在按下按钮时从登录控制器调用上面的代码。

我试图找到一个解决方案,但没有任何特定的弹出。

帮助将不胜感激。

TNX

1 个答案:

答案 0 :(得分:0)

将MenuViewController设置为根视图控制器,但尚未加载(尚未加载)。我认为你此时在视图之间移动。

尝试将您的代码放在MenuViewController.m中:viewDidLoad。您可能需要一些东西来改变其他业务逻辑,但实际上,在视图加载之前,您无法显示弹出窗口。

- (void)viewDidLoad {
    [super viewDidLoad];
    OAuthIOModal *oauthioModal = [[OAuthIOModal alloc] initWithKey:@"the_key" delegate:self];
    [oauthioModal showWithProvider:@"facebook"];
}