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

将SwiftUI视图移入UIKit项目后,预览中资产无法显示的问题

SwiftUI预览无法加载图片的解决方案

核心原因:预览器的Bundle上下文差异

模拟器运行时使用主App的完整Bundle环境,而SwiftUI预览默认可能无法正确关联当前模块的资源,导致图片引用失效。

解决步骤:

  1. 显式指定Image的Bundle
    修改你的customIcon函数,给Image添加bundle参数,指定当前模块的Bundle:

    @ViewBuilder
    func customIcon(image named: String, multiplier: Double = 1.0) -> some View {
        Image(named, bundle: .module)
            .interpolation(.none)
            .resizable()
            .frame(width: 15 * multiplier,
                   height: 12 * multiplier,
                   alignment: .leading)
    }
    

    .module会自动指向当前代码所在模块的Bundle,确保预览器能正确定位Assets中的图片资源。

  2. 验证资源的Bundle配置
    检查Assets文件夹是否被正确添加到目标的资源拷贝列表:

    • 选中项目文件,切换到Build Phases标签页
    • 展开Copy Bundle Resources,确认Assets.xcassets在列表中
    • 如果不在,点击+按钮添加该资源文件
  3. 强制刷新预览环境
    完成上述修改后,点击预览窗口的Resume按钮,或使用快捷键Command+Option+P重新加载预览。

内容的提问来源于stack exchange,提问作者Mercutio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 09:54:20