在主UI中,我有UI TextField和TableView。表视图显示了我的项目列表。 UI TextField的右侧将添加图标。 情景是 1.用户在TextFiled上输入,它将尝试搜索可用的列表项并在表视图中显示搜索结果。 2.如果搜索结果为空,则用户可以选择将项目添加到列表中。
我不会使用搜索栏。但我想实现像搜索栏的行为。尽管在ios 8中不推荐使用UI搜索栏和搜索显示控制器,但我想知道它是如何实现的。
目前我正在添加
@IBAction func textEditChanged(sender: UITextField) {
println("textEditChanged:\(sender.text)")
}
当文本发生变化时,我想用搜索结果重新加载tableview。
在searchDisplayController中,它有自己的TableView来显示搜索结果。所以在主UI控制器中我们需要显示如下:
if tableView == self.searchDisplayController?.searchResultsTableView {
// Add what we want to show
}
else {
// original table view in the UIViewController
}
func searchDisplayController(controller: UISearchDisplayController, shouldReloadTableForSearchString searchString: String!) -> Bool {
self.filterContentForSearchText(searchString)
return true
}
searchDisplayyController需要返回true才能重新加载tableview。
我希望TextField可以有这样的控制器,searchResultTableView并且可以像上面那样重新加载tableview。
有人可以指导我如何实现这一目标吗?