📅  最后修改于: 2023-12-03 15:41:44.227000             🧑  作者: Mango
在SwiftUI中,您可以使用 resizable() 修饰符为图像设置宽度和高度。
以下是设置图像宽度和高度的示例:
Image("yourImageName")
.resizable()
.frame(width: 200, height: 200)
这将创建一个具有200x200尺寸的可调整大小的图像视图。
在设置图像宽度和高度时,如果您需要保持图像的纵横比,则可以使用 aspectRatio() 修饰符,并将宽度和高度的比率作为参数传递。以下是一个示例:
Image("yourImageName")
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 200, height: 200)
在这个例子中, aspectRatio() 的参数 .fit 将图像缩放以适合框架,同时保持其纵横比。
如果您想使代码更简洁,请考虑使用SwiftUI的 私有协议 ,如下所示:
struct ResizedImage: View {
let imageName: String
let imageSize: CGSize
var body: some View {
Image(imageName)
.resizable()
.frame(width: imageSize.width,
height: imageSize.height)
}
}
struct ContentView: View {
var body: some View {
ResizedImage(imageName: "yourImageName",
imageSize: CGSize(width: 200, height: 200))
}
}
这将内部封装图像的宽度和高度,使代码更简洁易读。
可以看出,在SwiftUI中,设置图像宽度和高度是一个简单的过程。您可以使用可调整大小的 resizable() 修饰符和 frame() 修饰符轻松地设置宽度和高度,并使用 aspectRatio() 修饰符保持图像的纵横比。将它们一起使用,您可以根据需要创建各种尺寸的图像视图,而不会失真或变形。