Swift 在UISearchBar中设置文本字段
我正在尝试将SearchController添加到UINavigationBar。我试图在UINavigationController的后退按钮后设置UISearchBar的UITextField。我想在后退按钮后多留点空间 当我开始搜索时,它显示为 而我应该能够查看后退按钮。只应减小文本字段宽度。同样在取消之后,它应该再次回到初始布局。鉴于其显示如下: 下面是我的代码Swift 在UISearchBar中设置文本字段,swift,uitextfield,uisearchbar,uisearchcontroller,Swift,Uitextfield,Uisearchbar,Uisearchcontroller,我正在尝试将SearchController添加到UINavigationBar。我试图在UINavigationController的后退按钮后设置UISearchBar的UITextField。我想在后退按钮后多留点空间 当我开始搜索时,它显示为 而我应该能够查看后退按钮。只应减小文本字段宽度。同样在取消之后,它应该再次回到初始布局。鉴于其显示如下: 下面是我的代码 var searchResultController = UISearchController() self.
var searchResultController = UISearchController()
self.searchResultController = ({
let controller = UISearchController(searchResultsController: nil)
controller.searchResultsUpdater = self
controller.dimsBackgroundDuringPresentation = false
controller.searchBar.sizeToFit()
controller.searchBar.delegate = self
controller.hidesNavigationBarDuringPresentation = false
self.navigationController?.navigationBar.addSubview(controller.searchBar)
return controller
})()
override func viewDidAppear(animated: Bool) {
for subView in searchResultController.searchBar.subviews{
for subsubView in subView.subviews {
if let textField = subsubView as? UITextField {
var bounds: CGRect
bounds = textField.frame
bounds.size.width = self.view.bounds.width - 50
}
}
}
}
请让我知道如何解决这个问题
提前感谢您设置UIsearchBar并将其添加到导航标题视图中
self.navigationItem.titleView = controller.searchBar
要删除取消按钮,我们可以使用UISearchControllerDelegate方法
func didPresentSearchController(searchController: UISearchController) {
searchController.searchBar.showsCancelButton = false
}
希望这对任何人都有帮助