swift - SwiftUI 在子视图中隐藏 TabBar
问题描述
我正在使用 SwiftUI,但 TabBar 存在一些问题。我想隐藏特定子视图上的 TabBar。
试过了
UITabBar.appearance().isHidden = true
它仅适用于 TabView 中的直接视图。但是当我将它放在子视图中时它不起作用。
有没有人解决这个问题?
谢谢。
解决方案
iOS 14
安装 Introspect SwiftPM:https ://github.com/siteline/SwiftUI-Introspect
struct SomeView: View{
@State var uiTabarController: UITabBarController?
var body: some View {
List {
-your code here-
}
.navigationBarTitle("Title", displayMode: .inline)
.introspectTabBarController { (UITabBarController) in
UITabBarController.tabBar.isHidden = true
uiTabarController = UITabBarController
}.onDisappear{
uiTabarController?.tabBar.isHidden = false
}
}
}
在这段代码中uiTabarController
,我们引用了UITabarController
. 当我们回去时,我们Tabar
再次启用。所以,这就是为什么需要这样做。
推荐阅读
- html - 3列布局但隐藏中间列
- reactjs - 使用 Material-Table 在标题元素上添加“排序”图标
- python - 如何访问此 json 文件的数据?Python
- javascript - 将 API url 中的 JSON 显示到 html 表中
- exception - 如何在 ABP.IO 中获取更详细的异常?
- sql-server - 使用 'Pivot' Top 5 将行转换为列
- laravel - 我不能迁移,我该怎么办(laravel-5.8)?SQLSTATE[HY000]:一般错误:1215 无法添加外键约束
- python - 使用python jira模块对jira中的用户进行身份验证时,如何不断询问用户名和密码直到正确?
- flutter - 在 null 上调用 getter
- azure-devops - 团队资源管理器中文件旁边的星号,更改面板