这必须是简单的,但我有一个类型为System的UIButton。我务实地在代码中设置图像,但是当它被渲染时,它注意到图像没有填满整个按钮。下面屏幕截图中突出显示的框是UIImageView。围绕它的外框是UIButton。
self.customNavigationBar.rightButton.setImage("icon".toImage, for: .normal)
有任何想法吗?
如果您的图像资源与按钮的大小匹配,请确保按钮的insets设置为零:
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),
])