用于SwiftUI预览的带颜色循环的XCode预览不再工作

iqih9akk  于 2023-03-19  发布在  Swift
关注(0)|答案(1)|浏览(171)

在XCode 14之前,下面的语法可以很好地循环不同的颜色方案。

static var previews: some View {
    
    ForEach(ColorScheme.allCases, id: \.self) {
        MyView()
            .preferredColorScheme($0)
    }
}

从XCode 14开始,这将导致
PreviewUpdateTimedOutError: Updating took more than 5 seconds
我怀疑,这与XCode中的新按钮有关,现在在预览中显示配色方案变体,但我更喜欢旧的行为。

有什么办法吗?

piztneat

piztneat1#

这是一个Xcode bug,苹果已经意识到:https://developer.apple.com/forums/thread/711723作为一种解决方案,您可以使用此处建议的预览变体支持。
如果你只是想看看黑暗模式的情况下(或类似的东西),这是我一直在做的:

.environment(\.colorScheme, .dark)
        .background(Color.black)

这与preferredColorScheme(.dark)并不完全相同,但它工作得很好,在苹果修复它的同时,预览中也有一些东西。

相关问题