swift - 如何在同一导航控制器的第二个 VC 中隐藏 searchBar
问题描述
假设我在同一个导航控制器中有 2 个 VC。在第一个 VC(tableViewController)中,有一个以编程方式定义的搜索栏,当单击 tableVC 的一行时,它将显示(segue)第二个 VC(也是 tableVC)。
现在的问题是,当 searchBar 在第一个 VC 中处于活动状态时,例如输入一些单词,然后显示第二个 VC,searchBar 也会出现在第二个 VC 中。我想在第二个 VC 中隐藏 searchBar。既然 searchBar 是在第一个 VC 中定义的,我怎么能这样做?任何提示表示赞赏。
/// 更新:尝试在第一个 VC 的 viewDidDisappear() 中隐藏 searchBar,但是导航栏一起消失了,这不是预期的行为。
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
// hide searchBar
self.resultSearchController.searchBar.isHidden = true
}
///嗯,这段代码可以在2nd VC中移除searchBar,但是有移除的动画,即使我设置了也不是我想要的super.viewWillDisappear(false)
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(false)
// hide searchBar
resultSearchController.isActive = false
}
解决方案
推荐阅读
- sql - 尝试对由 2 个相乘字段产生的值进行舍入
- c# - 过滤器中的 MongoDB CSharp 不正确
- google-chrome-headless - 我可以使用 puppeeter 获取整页截图 + 包括 15K 网页的分页吗?
- python - 如何访问 MySQL python 库异常中的错误代码
- node.js - VS Code 插件,告诉您导出导入了多少次?
- symfony - symfony 升级到 3.4 实现 DataCollectorInterface
- ubuntu - 出错时 - sudo systemctl start jenkins
- excel - Excel VBA - 分析共享邮箱 Outlook - 运行时错误 1004:应用程序定义或对象定义错误
- c# - 使用带有图片框的 foreach 循环
- matlab - 在 Matlab 中绘制 FCM 簇