テーブルビューで検索コントローラが正常に動作しています。私は位置を設定し、それが最初に表示されていない後に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を使用して検索コントローラを修正する方法を教えてください。
スクロールするときに検索コントローラを修正する方法tableview。私は検索ボタンをクリックして表示オプションを非表示にする必要があります – naga