You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 07:43:06