swift - 从 UITableViewController 推送到 UIViewController 时,底部标签栏消失并保持黑色
问题描述
在我的用例中,我想在离开 UITabbarController 时隐藏底部标签栏。
我正在使用
let vc = storyboard?.instantiateViewController(withIdentifier: tableData[indexPath.row]["vcIdentifier"]!)
self.hidesBottomBarWhenPushed = true
self.show(vc!, sender: self)
它有点工作,因为推送的视图控制器底部没有标签栏。但是,一旦我单击导航,“发送者”视图控制器的底部标签栏就会消失并留下黑色区域。
如果您需要有关任何事情的更多信息,请告诉我。提前非常感谢!
解决方案
如果推送的视图控制器底部没有标签栏,则可以添加视图控制器代码的这个生命周期。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
tabBarController?.tabBar.isHidden = true
}
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
tabBarController?.tabBar.isHidden = false
}
推荐阅读
- javascript - JWT Token以及登录后如何使用?
- grails - 如何在 Grails 中实现 Spring Security Grail 4.x 中的 Graphql
- visual-studio-code - 如何在 vs 代码中添加 Bootstrap 样板/入门模板作为片段?
- c# - 将格式怪异的 JSON 反序列化为 C# 中的对象
- php - 在给定的字符串列表中查找字符串的所有字谜
- vb.net - 在 vb.net 中以图形方式编辑自定义面板
- arrays - 谷歌表格,如果 Col1 匹配 Col2 或 Col3,则获取列名
- elasticsearch - ElasticsearchException【Elasticsearch异常[type=max_bytes_length_exceeded_exception,reason=bytes长度最多为32766;得到207707]
- c++ - 替代“新”动态数组的 push_back?
- asp.net-core - Asp .net 核心 - 无法加载文件或程序集“ServiceStack”或其依赖项之一