iOS系统图标不符合UIButton的UIImageInsets

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

我正在使用iOS的system icons,因此我可以在整个项目中拥有一致的用户界面。使用这些图标时,我注意到的一件事是,即使我将系统图标设置为UIButton的图像,也不会像普通项目图像那样填充到按钮的大小。例如,如果我们有一个非常大的UIButton,则将其高度和宽度设为500,即使UIButton的图像插图的left,top,bottom和right值在界面构建器中均设置为0 ,用于按钮图像的系统图标将保持相同的小尺寸。enter image description hereenter image description here

实际上,系统图标唯一会尊重界面生成器对图像插入的说明的时间是当所述插入要求图像变小时。

enter image description here

有人知道UIButton的图像插图如何使系统图标的行为与普通项目图像类似吗?

ios swift uibutton uikit uiedgeinsets
2个回答
1
投票

如果将UIImageView设置为“宽高比”,如果它是contentMode,则系统映像将自动调整其大小以符合高度和宽度。

enter image description here

问题是您无法在情节提要板上设置UIButton.imageViewcontentMode,但可以通过编程方式进行,

override func viewDidLoad() {
    yourButton.imageView?.contentMode = .scaleAspectFit
    yourButton.contentHorizontalAlignment = .fill
    yourButton.contentVerticalAlignment = .fill
}

0
投票

check the marks in the picture您可以使用界面构建器。在右侧的属性检查器中,使用“控制”部分,如下所示:

以及您可以在故事板上使用的代码。

© www.soinside.com 2019 - 2024. All rights reserved.