搜索控制器在swift中使用tableview滚动
问题描述:
使用tableview的搜索控制器工作正常。我必须设置位置并在桌面视图标题中隐藏/显示正在工作的搜索控制器,当它在第一次没有显示时,在浏览栏中点击搜索栏按钮之后进行滚动。当我双击搜索按钮搜索栏控制器显示。我必须表现出与tableview中后,搜索按钮的单个点击搜索控制器滚动搜索控制器在swift中使用tableview滚动
这是搜索控制器的代码
let searchController = UISearchController(searchResultsController: nil)
override func viewDidLoad() {
super.viewDidLoad()
{
tableView.tableHeaderView = nil
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
}
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()
}
hide and unhide code
var launchBool: Bool = false {
didSet {
if launchBool == true {
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
}
后,当我在导航搜索点击搜索按钮的实现代码如下滚动酒吧控制器不显示时,我双击搜索按钮其显示如何修复搜索控制器与tableview滚动请帮助我
答
如果我理解它正确然后添加在navigation item
之后单独UISearchbar
里面的属性检查器,然后在UITableView
之下加上。固定约束。现在您的搜索栏将始终可见。在你的案例中,搜索栏是设置到表头视图。所以,当你滚动搜索栏也滚动
如何修复搜索控制器滚动tableview时。当我点击搜索按钮显示和隐藏选项应该工作 – naga