ata*_*asa 0 uitabbarcontroller uitableview ios swift
我有一个带有 5 个视图控制器的选项卡栏。在我的第三个视图控制器中,我有一个表视图及其 didSelect 方法,我使用以下代码以编程方式将 TabBar 选项卡更改为第一个选项卡。 tabBarController?.selectedViewController = tabBarController.childViewControllers[0]
在我的第一个视图控制器中,childViewControllers[0]有 viewDidAppear 方法,包括我的 ActivityIndicator 和一些 API 调用。当我使用上面的代码以编程方式更改标签栏时,第三个视图控制器保留在屏幕上,一旦 viewDidAppear 方法完成,它就会进行切换,这会导致用户有冻结感。但是,当我直接按下第一个视图控制器时,第一个视图控制器出现,显示活动指示器进行 API 调用。其原因可能是什么?我该如何解决?
当我更改tabBarController?.selectedViewController = tabBarController.childViewControllers[0]代码时
DispatchQueue.main.async {
tabBarController?.selectedViewController = tabBarController.childViewControllers[0]
}
Run Code Online (Sandbox Code Playgroud)
它工作得很好,第一个视图控制器中的一些 API 调用导致冻结,所以我把它放在主线程中,感谢 @Vinodh
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |