【问题标题】:searchController disappearing when clicking on search itemsearchController 在单击搜索项时消失
【发布时间】: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 很遗憾我无法添加此信息。但是,我添加了对所发生情况的描述。我希望这可以帮助您更好地理解我的问题。谢谢!

标签: ios swift uisearchcontroller


【解决方案1】:

对于遇到此问题的任何人,您只需在 viewdidload 函数中添加以下代码行:

self.definesPresentationContext = true

【讨论】:

    猜你喜欢
    • 2014-07-15
    • 2017-12-14
    • 2020-12-26
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多