如何在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
相关产品推荐
相关产品推荐

