searchController 在单击搜索项时消失
Posted
技术标签:
【中文标题】searchController 在单击搜索项时消失【英文标题】:searchController disappearing when clicking on search item 【发布时间】:2017-10-31 22:10:46 【问题描述】:您好,我有一个 searchController,它在单击新视图显示之前出现的搜索项之一时消失。我希望搜索控制器保持活动状态,因此当用户返回视图时,他们仍然会看到结果列表。目前我显示具有当前功能的搜索控制器。任何想法如何阻止它离开屏幕?提前谢谢你!
主视图控制器:
func searchButtonClicked()
self.searchController?.isActive = true
self.searchController?.searchBar.becomeFirstResponder()
if let controller = self.searchController
present(controller, animated: true, completion: nil)
func searchItemClicked()
self.searchController?.isActive = false
//set up detail controller and push
let vc : detailViewController =self.storyboard?.instantiateViewController(withIdentifier:"DetailViewController")
self.navigationController?.pushViewController(vc, animated: true)
func setupSearch()
self.searchController = UISearchController.init(searchResultsController: searchResultsCustomController)
self.searchController?.obscuresBackgroundDuringPresentation = true
self.searchController?.searchBar.delegate = self
self.searchController?.searchBar.showsCancelButton = true
self.searchController?.searchBar.placeholder = "Search for people or places"
编辑: 添加有关此错误的更多信息。导航栏有一个搜索按钮,用户单击该按钮进行搜索。从这里开始 searchController 并出现一个搜索栏。输入搜索凭据后,表格视图将显示结果。如果用户点击其中一个结果,表格视图和搜索栏就会消失,就像我按下了取消按钮一样,然后屏幕被推送到详细视图控制器。
【问题讨论】:
您介意添加正在发生的事情的视频/图片吗? 嗨@CaseyWest 很遗憾我无法添加此信息。但是,我添加了对所发生情况的描述。我希望这可以帮助您更好地理解我的问题。谢谢! 【参考方案1】:对于遇到此问题的任何人,您只需在 viewdidload 函数中添加以下代码行:
self.definesPresentationContext = true
【讨论】:
以上是关于searchController 在单击搜索项时消失的主要内容,如果未能解决你的问题,请参考以下文章
如何将 QTreeWidget 的子项设置为在单击其父项时自动选择并突出显示
除非我在搜索栏中点击,否则 SearchController 不会显示未过滤的结果