我一直在测试 SwiftUI,我想你们中的大多数人也测试过。我遇到了一个奇怪的问题,很可能是一个错误,但也许其他人已经找到了解决方法。
var body: some View {
Image("profilepic")
.resizable()
.aspectRatio(contentMode: .fit)
}
在正常情况下,我希望图像可以调整大小并且在屏幕上有很大的边距,因为我将内容模式设置为适合,如果我使用填充它只会填满整个屏幕。
拟合效果很好,但图像没有保持纵横比,它缩小了。
如果您遇到此问题并知道如何解决,请告诉我。
最佳答案
我也有这个问题,看起来这是测试版错误。 我建议保持原样,等待 Apple 的修复。
如果您真的需要正确的图像,您可以为 SwiftUI 创建自定义 View 结构
struct FixedImage: UIViewRepresentable {
var imageName: String
func makeUIView(context: Context) -> UIImageView {
let imageView = UIImageView(image: UIImage(named: imageName))
imageView.contentMode = .scaleAspectFit
return imageView
}
func updateUIView(_ uiView: UIImageView, context: Context) {
uiView.image = UIImage(named: imageName)
}
}
关于ios - SwiftUI 图像组件在调整大小时缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56522092/