【发布时间】:2020-06-12 15:38:25
【问题描述】:
我已将我的项目拆分为多个功能模块。我需要先显示登录屏幕,然后在登录时将我的标签栏控制器分配为 rootview。然后在注销时将我的登录屏幕重新分配为 rootview。如果我的登录功能和标签栏控制器位于不同的模块中,我该如何实现?
【问题讨论】:
我已将我的项目拆分为多个功能模块。我需要先显示登录屏幕,然后在登录时将我的标签栏控制器分配为 rootview。然后在注销时将我的登录屏幕重新分配为 rootview。如果我的登录功能和标签栏控制器位于不同的模块中,我该如何实现?
【问题讨论】:
创建一个公共函数以在主模块中设置rootViewController,并从您喜欢的任何模块调用它。这是您需要添加到主模块的功能:
public func setRootViewController(_ viewController: UIViewController) {
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return }
appDelegate.window?.rootViewController = viewController
}
【讨论】: