如何在保持图像纵横比的同时调整 UIButton 中的图像大小?

Posted

技术标签:

【中文标题】如何在保持图像纵横比的同时调整 UIButton 中的图像大小?【英文标题】:How to resize an image in a UIButton while keeping the image's aspect ratio? 【发布时间】:2019-07-07 16:54:40 【问题描述】:

我在情节提要中有一个 UIButton,将 SFSymbol 设置为按钮的图像,并希望将其放大。我知道我可以更改对齐方式或使图像成为按钮的背景,但使用其中任何一种都会导致图像拉伸到按钮的宽度和高度,我想保持原始纵横比。

我也尝试在 View Controller 中设置 myButton.imageView.contentMode 并设置 imageView 的 preferredSymbolConfiguration,但是这些都没有做任何事情 - 按钮上的图标仍然和以前一样大小。

【问题讨论】:

你试过UIButton.setPreferredSymbolConfiguration:forImageInState:而不是在图像视图上设置吗? 【参考方案1】:

在图像视图的背景中设置图像

【讨论】:

【参考方案2】:

我知道这可能为时已晚,但对于像我这样从谷歌来到这里的其他人来说,这里是如何在故事板中正确更改它:

    选择您将符号设置为图像的按钮(不是背景图像,只是图像) 下面会出现一个标题为“默认符号配置”的新部分,将“配置”切换为“点大小”并根据需要调整大小。我发现如果按钮上没有指定文本,“字体”选项似乎不起作用。

【讨论】:

【参考方案3】:

根据我从问题中了解到的情况,您正在尝试使按钮的图像更大,对吗?您是否尝试过将其创建到图像中,然后在按下时给该图像一个命令?查看以下代码:

Image(systemName: "cloud.heavyrain.fill")   //Apple's San Francisvo Symbol Set to get predefined symbols
            .foregroundColor(.red)
            .font(.headline)
    

在此处更改字体类型会更改图像的大小。如果您有任何问题,请告诉我,但这应该可以回答问题。

【讨论】:

这不是 SwiftUI 问题。 我用的是 UIKIt,不是 SwiftUI

以上是关于如何在保持图像纵横比的同时调整 UIButton 中的图像大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何调整我的 UIButton 以保持纵横比

如何在没有 javascript 的情况下使用最大高度和宽度来灵活调整 css 图像大小,同时保持图像纵横比?

如何按比例调整图像大小/保持纵横比?

c# 在保持纵横比的同时将图像调整为不同的大小

枕头调整图像大小 - 保持纵横比

使用“Vstack”将图像大小调整为屏幕宽度,同时保持纵横比