gpt4 book ai didi

ios - 使用选项卡栏 Controller 作为 Root View Controller ,并在用户未登录时显示登录 View Controller

转载 作者:行者123 更新时间:2023-11-30 13:48:13 25 4
gpt4 key购买 nike

我读到项目的选项卡栏 Controller 应始终是基本 Controller ,但我想知道,如果用户未登录,如何在 View Controller 中显示我的登录,然后在用户登录后关闭在?

以下是我的代码

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let loginViewController = storyboard.instantiateViewControllerWithIdentifier("signInViewController") as! SignInViewController

self.window?.makeKeyAndVisible()
self.window!.rootViewController!.presentViewController(loginViewController, animated: true, completion: nil)

return true
}

它确实按预期工作,但我在控制台中显示了它。

2016-01-07 12:37:58.139 Fingers[461:67210] Presenting view controllers on detached view controllers is discouraged <AppName.HomeViewController: 0x13ed4f8f0>.
2016-01-07 12:37:58.149 Fingers[461:67210] Unbalanced calls to begin/end appearance transitions for <UITabBarController: 0x13ed4ed60>.

这也会触发 View 加载到 Root View Controller 上,有什么方法可以避免这种情况吗?

最佳答案

使用NSNotificationCenter可以很容易地做到这一点。只需使用提供登录 View Controller 的方法在 TabBarViewController 中注册通知即可。

let vc = ViewController() //change this to your class name
self.presentViewController(vc, animated: true, completion: nil)

如果 isLogged 标志为 NO,您可以发布通知来触发上述方法。

登录后,只需将其关闭即可。

self.dismissViewControllerAnimated(true, completion: {});

关于ios - 使用选项卡栏 Controller 作为 Root View Controller ,并在用户未登录时显示登录 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34647502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com