UIButton里面的UIImageView有默认的填充 - 如何删除?

问题描述 投票:0回答:1

这必须是简单的,但我有一个类型为System的UIButton。我务实地在代码中设置图像,但是当它被渲染时,它注意到图像没有填满整个按钮。下面屏幕截图中突出显示的框是UIImageView。围绕它的外框是UIButton。

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

enter image description here

有任何想法吗?

ios swift xcode uibutton
1个回答
0
投票

如果您的图像资源与按钮的大小匹配,请确保按钮的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),
])
© www.soinside.com 2019 - 2024. All rights reserved.