搜索控制器代码
它可以正常搜索
问题1:当我滚动tableView时,我想显示搜索控制器和表视图,搜索控制器也会以表格视图滚动。
let searchController = UISearchController(searchResultsController: nil)
override func viewDidLoad() {
super.viewDidLoad()
searchController.searchResultsUpdater = self
searchController.hidesNavigationBarDuringPresentation = false
searchController.dimsBackgroundDuringPresentation = false
tableView.tableHeaderView = searchController.searchBar
searchController.delegate = self
searchController.searchBar.sizeToFit()
self.searchController.searchBar.delegate = self
tableView.tableHeaderView = nil
definesPresentationContext = true
}
更新搜索数据:
func updateSearchResults(for searchController: UISearchController) {
_ = kidsData
let searchToSearch = searchController.searchBar.text
if(searchToSearch == "")
{
self.kidsData = self.KidsDataDuplicate
}
else{
self.kidsData.removeAll()
let itemsarray = self.KidsDataDuplicate
var forkidsinArray = [String]()
for Kids in itemsarray {
forkidsinArray.append(Kids.name)
if(Kids.name.range(of: searchToSearch!, options: .caseInsensitive) != nil)
{
self.kidsData.append(Kids)
}
}
}
self.tableView.reloadData()
}
问题2:
Tableview navigation bar
包含搜索按钮,当我点击navigation bar
处的搜索按钮时,搜索控制器应显示其工作在tableview标题,但在滚动tableview之后我想在tableview起始单元格中显示搜索控制器。
我可以尝试滚动代表它不适合我
请帮助我......!
这是导航
中搜索按钮的代码var launchBool: Bool = false {
didSet {
if launchBool == true {
Status = 1
tableView.tableHeaderView = searchController.searchBar
let indexPath = IndexPath(row: 0, section: 0)
self.tableView.scrollToRow(at: indexPath, at: .middle, animated: true)
} else {
tableView.tableHeaderView = nil
myInt = 0
}
}
}
@IBAction func NAVSearchButton(_ sender: UIBarButtonItem) {
launchBool = !launchBool
}