如何在导航栏中改变titleView的大小。 因为navigationBar中titleView和backButton之间存在差距

我已经添加了一个search栏到我的navigation.titleView

self.navigationItem.titleView = searchBar 

还有一个BackBarButtonItem title =“”

  self.navigationItem.backBarButtonItem?.title = "" 

Back ButtonSearchBar之间有差距,就像这样: 后退按钮和SearchBar之间有空白

我认为差距出现在这里,因为有backBarButtonItem title的空间(因为我的title是空的“”但空间仍然存在)

那么我想问一下如何忽略这个差距呢? 我想让我的searchBar更接近我的backBarIcon

非常感谢!

编辑1:我试图改变searchBar的框架,但它不工作

这是我的代码

  //Change searchBar's frame let titleViewFrame = (searchController.searchBar.frame) searchController.searchBar.frame = CGRect(x: titleViewFrame.minX - 20.0, y: titleViewFrame.minY, width: titleViewFrame.width + 20.0, height: titleViewFrame.height) 

 override func viewDidLoad() { super.viewDidLoad() let container = UIView(frame: CGRect(x: 0, y: 0, width: 1000, height: 22)) let searchBar = UISearchBar() searchBar.translatesAutoresizingMaskIntoConstraints = false container.addSubview(searchBar) let leftButtonWidth: CGFloat = 35 // left padding let rightButtonWidth: CGFloat = 75 // right padding let width = view.frame.width - leftButtonWidth - rightButtonWidth let offset = (rightButtonWidth - leftButtonWidth) / 2 NSLayoutConstraint.activate([ searchBar.topAnchor.constraint(equalTo: container.topAnchor), searchBar.bottomAnchor.constraint(equalTo: container.bottomAnchor), searchBar.centerXAnchor.constraint(equalTo: container.centerXAnchor, constant: -offset), searchBar.widthAnchor.constraint(equalToConstant: width) ]) self.navigationItem.titleView = container } 

在这里输入图像说明

你不能这样做,如果我们有后退button,有一个我们不能改变的默认空间。

  self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil) self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "back") self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "back") self.navigationController?.navigationBar.tintColor = UIColor.lightGray 

下面是截图 在这里输入图像说明