在TableViewController的SearchBar中取消按钮需要双击
我在TableViewController的标题中添加了一个简单的搜索栏并实现了委托。一切正常。在TableViewController的SearchBar中取消按钮需要双击
奇怪的是,取消只在第二次敲击后才被调用。
编辑:https://www.youtube.com/watch?v=ehnA2kmGqcQ&feature=youtu.be
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { if section == 0 {
searchBar = UISearchBar(frame: CGRectMake(0, 0, tableView.frame.size.width, 0))
searchBar.barTintColor = kbackgroundColor
searchBar.showsCancelButton = true
searchBar.showsSearchResultsButton = false
searchBar.tintColor = UIColor.whiteColor()
searchBar.delegate = self
return searchBar
}
return nil
}
func searchBarCancelButtonClicked(searchBar: UISearchBar) {
searchInProgress = false
loadObjects()
searchBar.resignFirstResponder()
}
回答:
我相信这个问题:取消按钮只会火当它是重点
UISearchBar cancel button not responding
回答:
的问题是,你是滥用取消按钮。在您的视频中,这是您的操作:
您选择搜索字段中的所有文本。
您删除搜索字段中的所有文本。
过滤未停止,因此您点击取消。
没有任何反应,所以你再次点击取消。
但是第3步开始时是错误的。当搜索字段中的所有文本都被删除时,过滤应该已停止。您应该使用搜索栏代理方法检测到这种情况并作出相应的响应。
正如我在其他意见中提到,UISearchController可以在这里一个巨大的帮助。这种情况 - 过滤表格视图 - 正是它的目的。这将有助于正确管理搜索栏的行为。
以上是 在TableViewController的SearchBar中取消按钮需要双击 的全部内容, 来源链接: utcz.com/qa/263765.html