具有自定义单元格的Ios / swift / UISearchController或SearchDisplayController

时间:2016-07-21 22:26:12

标签: ios swift

我目前在导航栏顶部有一个带有搜索图标/按钮的应用。

我不确定是否可以使用storyboard但是我想显示一个带有自定义表格视图和关闭按钮的搜索控制器,很像维基百科应用程序

见下面的例子

http://i.imgur.com/ggsTj6W.png

http://i.imgur.com/BVDLU2O.jpg

所以工作流程将是: - 按搜索图标, - 表格视图带有关闭按钮的搜索 - 搜索结果在表格视图中显示为来自可重用源的自定义单元格

当我在维基百科应用程序上使用此搜索时,它感觉非常原生于ios所以我认为有办法实现它吗?

谢谢

1 个答案:

答案 0 :(得分:2)

  1. 创建UITableViewController对象并使其符合协议UISearchResultsUpdating

  2. 将搜索控制器添加到类

    let searchController = UISearchController(searchResultsController: nil)
    
  3. 将以下代码添加到viewdidload方法

    self.definesPresentationContext = true
    searchController.searchResultsUpdater = self
    searchController.hidesNavigationBarDuringPresentation = true
    searchController.dimsBackgroundDuringPresentation = false
    searchController.searchBar.sizeToFit()
    self.tableView.tableHeaderView = searchController.searchBar
    
  4. 实施以下方法以符合UISearchResultsUpdating协议

    func updateSearchResultsForSearchController(searchController: UISearchController)
    
  5. 在主页面(要显示搜索按钮的位置)上,创建一个segue到上面的tableViewController,并将其设置为在点击按钮时以模态方式显示。