【发布时间】:2018-07-30 01:10:36
【问题描述】:
我使用自定义导航控制器类来删除导航栏中的后退按钮,具有以下内容:
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 中,我还在导航栏中添加了一个搜索控制器,其中包含以下内容:
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
}
但是,搜索栏似乎仍然被标题所在的一些空白区域所抵消。我想搜索栏应该与后退按钮对齐,但是有后退按钮、空白标题的空格,然后是搜索栏。
我怎样才能让搜索栏与后退按钮对齐而不是隔开,因为空白标题似乎有一些空间。另外,作为一个注释,点击那个空白空间会让我回到以前的 VC,虽然那里没有实际的标题。
编辑:
【问题讨论】:
-
你有没有在 swift 中检查过这个answer 或它下面的那个
-
@zombie 是的,还是有同样的问题
-
那么我建议检查布局以查看发生了什么,因此请转到顶部菜单 -> 调试 -> 查看调试 -> 捕获视图层次结构
-
@zombie 哇我其实不知道这个功能,但我也不知道我在寻找什么来解决我的问题。看起来
UIBackButtonContainerView占用了空间 -
这意味着后退按钮仍然占用很大空间。尝试检查我在上面发布的问题的其余答案
标签: swift uinavigationcontroller uinavigationbar uisearchcontroller