左栏按钮项目对齐 - 斯威夫特
问题描述:
我无法让我的左栏按钮项目垂直对齐。这里是我当前的代码:左栏按钮项目对齐 - 斯威夫特
override func viewDidLoad() {
super.viewDidLoad()
var image = UIImage(named: "pinImage")
image = image?.withRenderingMode(UIImageRenderingMode.alwaysOriginal)
navigationItem.rightBarButtonItem = UIBarButtonItem(image: image, style: UIBarButtonItemStyle.plain, target: self, action: #selector(handleMapView))
navigationItem.leftBarButtonItem = UIBarButtonItem(title: "+", style: .plain, target: self, action: #selector(createTrip))
navigationItem.leftBarButtonItem?.setTitleTextAttributes([ NSFontAttributeName: UIFont(name: "Nunito", size: 48)!, NSForegroundColorAttributeName : UIColor(r: 123, g: 230, b: 200)], for: UIControlState.normal)
}
我已经尝试使用:
navigationItem.leftBarButtonItem?.setBackgroundVerticalPositionAdjustment(4, for: .default)
,但我不能让我的垂直位置改变。有什么建议么?
答
你不能对齐它们,因为它们随你的导航条一起走。但是,您可以通过添加子视图并在子视图中对齐您的项目。或者另一种方法是使用UIEdgeInsets
https://stackoverflow.com/questions/23546161/bar-button-item-not-correctly-aligned –
我也试过这个以及这并没有帮助 – ajayb
也许你可以使用'navigationItem.leftBarButtonItem?.imageInsets = UIEdgeInsets(top:5,left:0,bottom:5,right:10)'来得到结果。 – Mina