[英]UISearchBar Height Automatic Size Change Swift
這是我正在嘗試做的事情:
屏幕截圖來自Iphone:
我正在開發一個簡單的應用程序,並以編程方式添加uisearchbar,但我真的很困惑,為什么要像第二個圖像一樣從頂部顯示額外的空間。 但是當我寫的時候,uisearchbar像第一個圖像一樣改變了我們的位置。
這是我的代碼:
let searchController = UISearchController(searchResultsController: nil)
override func viewDidLoad() {
super.viewDidLoad()
self.searchController.obscuresBackgroundDuringPresentation = false
self.searchController.searchBar.placeholder = "Search"
self.searchController.searchBar.barStyle = .black
self.searchController.searchBar.delegate = self
self.definesPresentationContext = true
if #available(iOS 11.0, *) {
navigationItem.searchController = searchController
} else {
// Fallback on earlier versions
navigationItem.titleView = searchController.searchBar
}
}
extension starControl: UISearchBarDelegate{
func searchBarTextDidBeginEditing(_ searchBar: UISearchBar)
{
//Show Cancel
searchBar.setShowsCancelButton(true, animated: true)
searchBar.tintColor = .black
}
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String)
{
}
func searchBarSearchButtonClicked(_ searchBar: UISearchBar)
{
searchBar.setShowsCancelButton(false, animated: true)
searchBar.resignFirstResponder()
guard let term = searchBar.text , term.isEmpty == false else {
return
}
}
func searchBarCancelButtonClicked(_ searchBar: UISearchBar)
{
searchBar.setShowsCancelButton(false, animated: true)
searchBar.text = String()
searchBar.resignFirstResponder()
}
}
有人可以向我解釋如何解決此問題,我已經嘗試解決此問題,但沒有結果。
任何幫助將不勝感激。
提前致謝。
這是最新的swift4.2代碼和搜索欄的最新功能,只需將此功能放入控制器並從viewDidLoad調用即可。
func setupNavBar() {
self.title = "Controller title"
self.navigationController?.navigationBar.prefersLargeTitles = false
self.navigationController?.navigationItem.largeTitleDisplayMode = .always
let searchController = UISearchController(searchResultsController: nil)
searchController.searchBar.delegate = self
navigationItem.searchController = searchController
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.