class SelectionBoxViewController: UITableViewController,UISearchBarDelegate {
var searchbar = UISearchBar()
override func viewDidLoad() {
super.viewDidLoad()
searchbar.delegate = self
}
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
tableView.reloadData()
}
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
if(section == 1){
tableView.tableHeaderView = searchbar
let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 100))
view.addSubview(searchbar)
searchbar.sizeToFit()
return view
}
return nil
}
}
它在tableView.reloadData()
与EXC_BAD_ACCESS
时崩溃。我发现问题是由UIView
中添加搜索者引起的。
那么有什么办法解决这个问题吗?我想在第二部分标题而不是第一部分标题中实现搜索栏。
答案 0 :(得分:1)
在UISearchBar
中配置viewDidLoad
。
之后:
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
if(section == 1) {
return searchBar
} else {
return nil
}