BarButtonItem EdgeInsets不起作用

时间:2017-05-14 18:13:37

标签: ios swift3 uiedgeinsets

我试图在按钮之间的navigationBar rightBarButtonItems的右侧添加一个填充,但它现在正在工作。

这里是带有给定插图的按钮创建代码:

lazy var previewBarButtonItem: UIBarButtonItem = {
    let buttonItem = UIBarButtonItem(title: "Preview", style: .plain, target: self, action: #selector(handlePreview))
    buttonItem.tintColor = UIColor.black
    buttonItem.setTitleTextAttributes([NSFontAttributeName: UIFont.systemFont(ofSize: 14)], for: .normal)
    buttonItem.imageInsets = UIEdgeInsetsMake(0, -15, 0, 15)
    return buttonItem
}()

override func viewDidLoad() {
    super.viewDidLoad()
    setupRightNavItems()
}

fileprivate func setupRightNavItems () {
    navigationItem.rightBarButtonItems = [submitBarButtonItem, previewBarButtonItem]
}

你能否暗示为什么这不起作用?

由于

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题,只是在条形按钮项之间添加了一个fixedSpace,如下所示:

1)删除任何EdgeInsets 2)添加以下固定空间:

fileprivate func setupRightNavItems () {
    let spacing = UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil)
    spacing.width = 25 //change to your desired space width
    navigationItem.rightBarButtonItems = [submitBarButtonItem, spacing, previewBarButtonItem]
}