【发布时间】:2020-07-20 16:28:27
【问题描述】:
VC1 是我在项目中的主页,我可以从 VC1 转到 5 个不同的视图控制器。在 VC1 viewDidLoad 中,我正在从 Firestore 数据库中下载数据,我需要将它们全部加载到手机中,然后才能允许用户与导航栏中的按钮进行交互。这是我的 VC1 的样子(底部 3 个按钮,顶部 2 个按钮):
但当前用户可以在 viewDidLoad 中的数据未完全加载到手机时单击 VC1 中的按钮,并让他们从 VC1 转到 VC2(如果速度足够快,他们可以完成此操作)。
除非 viewDidLoad 中的所有功能都已完成,否则如何防止用户与导航栏中的按钮进行交互?
override func viewDidLoad() {
super.viewDidLoad()
func1()
func2()
func3()
}
不确定这是否相关,但在我的 AppDelegate 中,这是我定义 rootViewController 的方式:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
let storyboard = UIStoryboard(name: "Main", bundle: .main)
window?.rootViewController = storyboard.instantiateViewController(withIdentifier: "TabBarController")
}
这就是我在主故事板中的内容:
这是我的家庭故事板:
【问题讨论】:
标签: swift navigation uinavigationcontroller uinavigationbar viewdidload