如何在保持图像纵横比的同时调整 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 中的图像大小?的主要内容,如果未能解决你的问题,请参考以下文章