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

XCode 14下SwiftUI预览的Color Scheme循环失效,如何恢复旧行为?

XCode 14 恢复旧配色方案预览的解决思路

给你几个可行的解决办法,都能恢复旧版同时展示多配色预览的效果:

  • 手动声明多配色预览
    放弃用ForEach遍历,直接逐个声明浅色和深色模式的预览,Xcode 14能完美兼容,不会触发超时:

    static var previews: some View {
        Group {
            MyView()
                .preferredColorScheme(.light)
                .previewDisplayName("浅色模式")
            MyView()
                .preferredColorScheme(.dark)
                .previewDisplayName("深色模式")
        }
    }
    
  • 优化ForEach预览配置
    如果不想放弃遍历写法,给每个预览添加明确的设备和显示名称,降低预览系统的处理压力:

    static var previews: some View {
        ForEach(ColorScheme.allCases, id: \.self) { scheme in
            MyView()
                .preferredColorScheme(scheme)
                .previewDisplayName(scheme == .light ? "浅色" : "深色")
                .previewDevice(PreviewDevice(rawValue: "iPhone 14")) // 指定具体设备,减少渲染负载
        }
    }
    
  • 关闭自动预览刷新
    如果你的MyView本身比较复杂,Xcode 14的自动刷新可能导致超时。可以点击预览界面右上角的"Auto Refresh"按钮关闭自动刷新,需要更新预览时手动点击刷新图标,避免系统资源过载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:33:49