当我加载代码时,UISearchBar会正常显示。但是,点击搜索字段后,搜索栏会缩小并垂直向下降低。码:
class MainViewController: UIViewController, UISearchBarDelegate {
var searchBarController: UISearchController?
var tableViewController: UITableViewController?
var searchBar: UISearchBar?
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .blue
let tableViewController = UITableViewController(style: .plain)
let searchBarController = UISearchController(searchResultsController: tableViewController)
self.searchBarController = searchBarController
self.tableViewController = tableViewController
self.searchBar = self.searchBarController?.searchBar
self.searchBar?.frame = CGRect(x: 0, y: 50, width: self.view.frame.size.width, height: 75)
self.searchBar?.searchBarStyle = .prominent
self.view.addSubview(self.searchBar!)
}
}
这是点击前后的视觉效果:
UIkit会调整搜索控制器视图的大小,并在layoutSubviews()
该视图上重置框架。
如果您想独立控制搜索栏的大小,建议您使用以下方法制作searchbar.translatesAutoresizingMaskIntoConstraints = false
和/或viewDidLayoutSubview()
调整搜索栏的大小:searchbar.frame = ...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句