过去两天我一直试图找到解决这个问题的方法,但我尝试的对我来说仍然没有。我试过的一些解决方案要么拉伸要么完全弄乱我的自定义图像,但没有任何东西会删除正确的填充。这是我的代码以及结果。注意右边的条形按钮比左边的系统按钮有更大的空间。
var saveButton: UIButton = UIButton(frame: CGRectMake(0, 0, 32, 32))
saveButton.addTarget(self, action: "saveAction:", forControlEvents: .TouchUpInside)
let img = UIImage(named: "save")
saveButton.setBackgroundImage(img, forState: .Normal)
var saveBarButton: UIBarButtonItem = UIBarButtonItem(customView: saveButton)
self.navigationItem.setRightBarButtonItem(saveBarButton, animated: false)
答案 0 :(得分:2)
好吧,伙计们,我找到了一个适合我的解决方案。我没有在代码中创建和设置条形按钮项,而是在故事板中添加了一个,并将它在尺寸检查器中的左边距设置为-6(或任何你喜欢的值),它的右边距为6(再次您喜欢的任何值 请注意,这两个值必须相同,但一个是正数,另一个是负数 )。然后我将它的图像设置为属性检查器中所需的图像。如果由于某种原因你想在代码中更改图像,你可以这样做:
barButtonOutlet.image = UIIMage(named: "yourImage") as UIImage?
希望这有助于你们中的一些人。
答案 1 :(得分:0)
这是我的解决方案。尝试..
rightBtn.imageInsets = UIEdgeInsets(top: 0, left: -13.0, bottom: 0, right: 13.0)
self.navigationItem.rightBarButtonItem = rightBtn