ViewController 不会出现 - iOS
Posted
技术标签:
【中文标题】ViewController 不会出现 - iOS【英文标题】:ViewController won't appear - iOS 【发布时间】:2014-05-24 10:41:55 【问题描述】:我有一个 ios 应用程序,它将加载一个特定的视图控制器进行身份验证。但是无论如何,视图控制器都不会加载。下面是我处理这个问题的方法的代码(这是用于 Game Center 身份验证弹出窗口):
-(void)authenticateLocalUser
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error)
if (viewController != nil)
NSLog(@"AUTH VIEW CONTROLLER");
[[[UIApplication sharedApplication] keyWindow].rootViewController presentViewController:viewController animated:YES completion:nil];
else if (localPlayer.isAuthenticated)
NSLog(@"User is authenticated");
else
NSLog(@"Game Center Auth error.");
;
如您所见,我遵循了 Apple 官方开发者文档。然而这个方法的输出总是:
Game Center 身份验证错误(最后一个 NSLog)。
为什么视图控制器从不加载?因为我需要加载它以便用户可以登录 Game Center(如果他们还没有登录的话)。
感谢您的宝贵时间,丹。
【问题讨论】:
这是您的处理程序块,但您没有显示实际尝试加载视图控制器的位置 行“[[[UIApplication sharedApplication] keyWindow].rootViewController presentViewController:viewController animated:YES completion:nil];”打开视图控制器。 至于方法本身,在我的视图控制器的viewdidload上调用。 显示视图控制器,但不加载视图控制器 那么如何加载视图控制器? 【参考方案1】:事实证明,问题最终与 Game Center 应用程序本身有关。我刚刚登录/退出,一切正常。我现在也看到在其他使用 Game Center 的 iOS 应用中也出现了同样的问题。
【讨论】:
以上是关于ViewController 不会出现 - iOS的主要内容,如果未能解决你的问题,请参考以下文章
iOS Present Viewcontroller 出现黑屏
iOS9:UIViewController:当 viewController 在第二个 UIWindow 中运行时,不会在拆分视图更改时调用 viewWillTransitionToSize