gpt4 book ai didi

swift - 在 UISearchBar 中设置文本字段

转载 作者:行者123 更新时间:2023-11-28 06:59:01 27 4
gpt4 key购买 nike

我正在尝试将 SearchController 添加到 UINavigationBar。我正在尝试在 UINavigationController 的后退按钮之后设置 UISearchBar 的 UITextField。我想要后退按钮后的更多空间

enter image description here

当我开始搜索时,它显示为

enter image description here

而我应该能够查看后退按钮。只应减少文本字段宽度。同样在 Cancel 之后,它应该再次回到初始布局。而显示如下:

enter image description here

下面是我的代码

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,请将其添加到 Navigation 的 titleView 中作为

self.navigationItem.titleView = controller.searchBar

我们可以使用 UISearchControllerDelegate 方法移除取消按钮

func didPresentSearchController(searchController: UISearchController) {
searchController.searchBar.showsCancelButton = false
}

希望这对任何人都有帮助。

关于swift - 在 UISearchBar 中设置文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32516195/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com