SwiftUI中高分辨率图片仅以1/3屏幕宽度渲染的问题求助
SwiftUI中高分辨率图片仅以1/3屏幕宽度渲染的问题求助
大家好,我最近在SwiftUI里处理图片时遇到了个奇怪的问题,想请各位大佬帮忙支支招~
我手里有一批随App打包的高分辨率图片,因为App体积限制,我没有提供@3x、@2x、@1x不同倍率的适配图,只放了单张高分辨率的原图。
但不管我用哪种方式渲染图片,最终显示出来的图片都只有屏幕宽度的1/3左右,可原图的分辨率明明完全足够铺满整个屏幕宽度。
我试过两种渲染方式:
第一种是直接从Bundle读取图片文件:
VStack{ if let imageName = item.filename, let bundlePath = Bundle.main.path(forResource: imageName, ofType: "jpg"), let uiImage = UIImage(contentsOfFile: bundlePath) { Image(uiImage:uiImage) .resizable() .cornerRadius(20) .padding(.horizontal, 10) .aspectRatio(contentMode: .fit) Text("bla bla bla") }
第二种是把图片放进.xcassets资源文件中读取:
VStack{ if let imageName = item.filename { Image(imageName) .resizable() .cornerRadius(20) .padding(.horizontal, 10) .aspectRatio(contentMode: .fit) Text("bla bla bla") }
我本来想让图片能适配屏幕宽度来显示,但现在的效果完全达不到预期,有没有朋友知道这是哪里出问题了,或者有什么解决办法吗?
备注:内容来源于stack exchange,提问作者Duck
相关产品推荐
相关产品推荐

