mad*_*989 1 uisearchbar uinavigationitem swift uisearchcontroller programmatically
我在导航控制器上以编程方式更改我的搜索栏设计时遇到问题。我只想使搜索栏曲线如下图所示:
我在堆栈溢出中尝试了很多示例,但我仍然无法改变形状。这是现在的样子:
这是源代码,关于已经完成的内容:
//MARK for searchBar UI
searchController.dimsBackgroundDuringPresentation = false
searchController.hidesNavigationBarDuringPresentation = false
searchController.searchBar.placeholder = " Search for programs..."
searchController.searchBar.sizeToFit()
searchController.searchBar.isTranslucent = false
searchController.searchBar.backgroundImage = UIImage()
searchController.searchBar.delegate = self
navigationItem.titleView = searchController.searchBar
self.searchController.searchBar.layer.cornerRadius = 20.0
self.searchController.searchBar.clipsToBounds = true
// SearchBar text
let textFieldInsideUISearchBar = searchController.searchBar.value(forKey: "searchField") as? UITextField
textFieldInsideUISearchBar?.borderStyle = .roundedRect
textFieldInsideUISearchBar?.font = textFieldInsideUISearchBar?.font?.withSize(14)
Run Code Online (Sandbox Code Playgroud)
现在,我真的不知道如何更改它,提前致谢。
这将帮助你,
let searchBar = UISearchBar()
Run Code Online (Sandbox Code Playgroud)
在 viewDidLoad()
searchBar.sizeToFit()
searchBar.placeholder = "Search"
self.navigationController?.navigationBar.barTintColor = UIColor.green //this is just for reference
self.navigationItem.titleView = searchBar
if let textfield = searchBar.value(forKey: "searchField") as? UITextField {
textfield.textColor = UIColor.blue
if let backgroundview = textfield.subviews.first {
backgroundview.backgroundColor = UIColor.blue
backgroundview.layer.cornerRadius = 20;
backgroundview.clipsToBounds = true;
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码会给你以下输出,
归档时间: |
|
查看次数: |
1551 次 |
最近记录: |