【发布时间】:2021-02-14 13:32:33
【问题描述】:
我目前有一个 UISearchBar(下面的代码),它工作得很好,但是我试图让它在我的 UITableView 中滚动时,我的 UISearchBar 不会消失。我读过的一件事是使用以下代码行将 searchController 嵌入到视图控制器中:navigationItem.searchController = yourSearchController 然后为了防止 UISearchBar 隐藏,添加这行代码:navigationItem.hidesSearchBarWhenScrolling = false 但是它没有工作.我还读过将 SearchBar 放在 View Hierarchy 中的 UITableView 上方,但是当我这样做并将其放在导航栏下方时,滚动时它会与 tableView 单元格重叠。我需要 SearchController,如果需要,我该如何实现?我花了好几个小时在类似的 StackOverflow 线程中搜索多年前提出的相同问题,并尝试实现响应,但是,没有一个响应有效。任何回复将不胜感激,谢谢!
UISearchBar IBOutlet:
@IBOutlet weak var searchBar: UISearchBar!
viewDidLoad 函数:
filteredData = data
UISearch条码:
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if searchText.isEmpty {
filteredData = data
} else {
filteredData = data.filter{$0.title.range(of: searchText, options: .caseInsensitive) != nil }
}
self.tableView.reloadData()
}
}
查看层次结构:
查看控制器布局:
【问题讨论】:
标签: ios swift xcode uitableview uisearchbar