gpt4 book ai didi

swift - 搜索栏未与导航栏中的后退按钮对齐

转载 作者:行者123 更新时间:2023-11-28 07:53:55 25 4
gpt4 key购买 nike

我使用自定义导航 Controller 类来删除导航栏中的后退按钮,如下所示:

class CustomNavigationController: UINavigationController, UINavigationControllerDelegate {

override func viewDidLoad() {
super.viewDidLoad()

self.delegate = self
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}


func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {

viewController.navigationItem.backBarButtonItem = UIBarButtonItem(title: " ", style: .plain, target: nil, action: nil)
}

}

在我的一个 VC 中,我还使用以下内容向导航栏添加了一个搜索 Controller :

private func configureSearchController() {
self.searchController = UISearchController(searchResultsController: nil)
self.searchController.searchResultsUpdater = self
self.searchController.delegate = self
self.searchController.searchBar.delegate = self

self.searchController.hidesNavigationBarDuringPresentation = false
self.searchController.dimsBackgroundDuringPresentation = true

self.navigationItem.titleView = searchController.searchBar
self.definesPresentationContext = true
}

但是,搜索栏似乎仍被标题所在的空白区域所抵消。我想象搜索栏应该在后退按钮旁边对齐,但是有后退按钮,空白标题的空间,然后是搜索栏。

enter image description here

我怎样才能让搜索栏与后退按钮对齐而不是间隔开,因为看起来空白标题有一些空间。另外,请注意,点击那个空白区域会让我回到之前的 VC,尽管那里没有实际的标题。

编辑:

View 层次结构,看起来后退按钮容器 View 本身占用了大量空间enter image description here

最佳答案

尝试在 viewDidLoad 中添加这个

let backButton = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
backButton.setBackButtonTitlePositionAdjustment(UIOffsetMake(-1000, -1000), for: .default)
navigationItem.backBarButtonItem = backButton

关于swift - 搜索栏未与导航栏中的后退按钮对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48872280/

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