在 SwiftUI 中,imageScale 是一个修饰符,用于调整图像的比例。它主要适用于图标(Image),特别是在使用系统提供的 SF Symbols 时,可以通过该修饰符来控制图标的大小。
用法
Image(systemName: "star")
.imageScale(.small) // 调整图像大小
.foregroundColor(.yellow)
参数
imageScale 接受以下三种值:
.small: 图像缩小。
.medium: 默认大小。
.large: 图像放大。
示例
以下是一个完整示例,展示三种不同的 imageScale 效果:
VStack {
Image(systemName: "star")
.imageScale(.small)
.foregroundColor(.red)
.padding()
Image(systemName: "star")
.imageScale(.medium)
.foregroundColor(.green)
.padding()
Image(systemName: "star")
.imageScale(.large)
.foregroundColor(.blue)
.padding()
}
注意
如果是普通图像(如加载的 Image(“example”)),imageScale 对它不起作用,需使用其他修饰符(如 frame 或 resizable)调整大小。
imageScale 主要用于 SF Symbols 图标时快速调整比例。
如果需要处理具体的缩放行为,可以结合其他修饰符如 .scaleEffect() 或 .frame()。