【问题标题】:Deinit UITabBarController after presenting new ViewController呈现新的 ViewController 后 Deinit UITabBarController
【发布时间】:2017-08-28 20:33:02
【问题描述】:

我有一个用户可以登录的应用程序。如果用户启动该应用程序并且已经登录,则 rootViewController 设置为我的自定义 UITabBarController 但当用户未登录时 rootViewController设置为 LoginVC(视图控制器)。我的问题是,当用户注销时,应该显示 LoginVC,并且应该取消初始化 TabBar。

我试过了:

self.tabBarController?.dismiss(animated: true, completion: {
    self.tabBarController?.present(LoginVC(), animated: true, completion: nil)
})

诸如此类... 我可以展示 LoginVC 但是当我打电话给self.tabBarController?.dismiss LoginVC 被解雇而不是 TabBarVC

任何帮助将不胜感激

【问题讨论】:

    标签: ios swift uiviewcontroller uitabbarcontroller deinit


    【解决方案1】:

    最好将rootViewController 设置为LoginVC。对UITabBarController 的引用将丢失,并将取消初始化。

    在 VC 上调用 dismiss 不会关闭该 VC。它解散了它正在呈现的 VC:

    https://developer.apple.com/documentation/uikit/uiviewcontroller/1621505-dismiss

    关闭视图控制器以模态方式呈现的视图控制器。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 2015-09-26
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多