UIButton中的UIImageView具有默认填充-如何删除?

时间:2019-03-06 01:29:24

标签: ios swift xcode uibutton

这必须很简单,但是我有一个System类型的UIButton。我以实用的方式在代码中设置了图像,但是在渲染它时,它注意到图像并没有填满整个按钮。下面的屏幕截图中突出显示的框是UIImageView。周围的外框是UIButton。

self.customNavigationBar.rightButton.setImage("icon".toImage, for: .normal)

enter image description here

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果您的图片资源与按钮的大小匹配,请确保将按钮的插图设置为零:

let button = self.customNavigationBar.rightButton
button.setImage("icon".toImage, for: .normal)
button.imageEdgeInsets = .zero

如果不是这种情况,则更通用的方法是更改​​UIImageView内部的内部UIButton的约束:

let button = self.customNavigationBar.rightButton
button.setImage("icon".toImage, for: .normal)
button.imageView!.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
  button.imageView!.widthAnchor.constraint(equalTo: button.widthAnchor, multiplier: 1),
  button.imageView!.heightAnchor.constraint(equalTo: button.heightAnchor, multiplier: 1),
  button.imageView!.centerXAnchor.constraint(equalTo: button.centerXAnchor),
  button.imageView!.centerYAnchor.constraint(equalTo: button.centerYAnchor),
])