更改 UITableView 中的搜索栏高度(swift 5)
Posted
技术标签:
【中文标题】更改 UITableView 中的搜索栏高度(swift 5)【英文标题】:Change search bar height in UITableView (swift 5) 【发布时间】:2020-08-04 10:27:47 【问题描述】:我是按照这个example 在表格视图中实现搜索的。但是我没有使用Navigation Controller,所以直接在TableViewHeaderView中添加了Search Bar。搜索工作正常,但我需要更改搜索栏的高度。 我尝试向文本字段添加约束,它改变了栏的高度,但在搜索栏后卡在 tableView 上。
enter image description here
【问题讨论】:
【参考方案1】:我所做的解决方案:在搜索栏中设置 TextField 的约束。禁用“取消”按钮外观(否则它将与搜索栏重叠)。
func configureSearch()
searchController.searchResultsUpdater = self
searchController.obscuresBackgroundDuringPresentation = false
definesPresentationContext = false
searchController.searchBar.searchBarStyle = .minimal
searchController.searchBar.placeholder = "Search station"
searchController.searchBar.showsCancelButton = false
if let searchField = searchController.searchBar.value(forKey: "searchField") as? UITextField
searchField.snp.makeConstraints (make) in
make.height.equalTo(55)
make.leading.equalToSuperview().offset(20)
make.trailing.equalToSuperview().offset(-20)
searchField.textColor = .white
searchField.backgroundColor = .black
searchField.font = UIFont(name: "SFUIText-Regular", size: 14)
tableView.tableHeaderView = searchController.searchBar
要禁用 searchController(通常是取消按钮执行此工作),我添加了 tapGesture:
let searchTap = UITapGestureRecognizer(target: self, action: #selector(handleTap(_:)))
self.view.addGestureRecognizer(searchTap)
@objc func handleTap(_ sender: UITapGestureRecognizer)
searchController.isActive = false
【讨论】:
以上是关于更改 UITableView 中的搜索栏高度(swift 5)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UITableView 中添加搜索栏,就像 iOS 中的游戏中心一样?