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

如何在Xcode 15及以上版本中使用#Preview宏展示多个视图预览变体?

如何在Xcode 15及以上版本中使用#Preview宏展示多个视图预览变体?

嘿,我刚踩过这个坑!原来用PreviewProvider的写法没法直接照搬进#Preview宏里——因为这个宏默认只接受单个视图返回值,直接放两个视图的话Swift编译器会报错。不过别担心,有两种简单的方法能实现多变体预览:

方法一:用Group包裹多个视图

把所有要预览的视图放进Group容器里,这样Group会作为单个视图返回给#Preview宏,同时保留每个视图的预览名称设置:

#Preview {
    Group {
        MyAwesomeView(title: "Title One", hideSomePart: true)
            .previewDisplayName("Hidden some part")
        
        MyAwesomeView(title: "Title Two", hideSomePart: false)
            .previewDisplayName("Showing all parts")
    }
}

方法二:为每个变体单独创建#Preview宏

这种方式更直观,每个预览变体对应一个独立的#Preview宏,还能直接在宏里指定预览名称,不用额外调用previewDisplayName:

#Preview("Hidden some part") {
    MyAwesomeView(title: "Title One", hideSomePart: true)
}

#Preview("Showing all parts") {
    MyAwesomeView(title: "Title Two", hideSomePart: false)
}

两种方法都能正常工作,你可以根据自己的习惯选:用Group的话所有变体在同一个预览组里,分开写的话每个变体是预览面板里的独立条目,切换起来更方便~

备注:内容来源于stack exchange,提问作者Jorn Rigter

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 10:47:59