我正在尝试使用 Widget 上下文预览一些 View ,例如:
struct MyTasksView_Previews: PreviewProvider {
static var previews: some View {
MyTasksView(
myTasks: Fake.myTasks,
user: Fake.user,
error: ""
)
.previewContext(WidgetPreviewContext(family: .systemMedium))
}
}
但是,我在尝试运行预览时遇到此错误。而且,我不确定为什么会这样。
RemoteHumanReadableError: Unknown preview provider “MyTasksView_Previews” MyApp does not contain a preview provider named “MyTasksView_Previews”. Check your build settings to ensure the preview provider is compiled into your product.
我也尝试使用简单的 Text(text).previewContext(WidgetPreviewContext(family: .systemMedium))
,但它也不起作用。我正在使用 Xcode beta 5。
在 Apple Emoji Rangers Demo App for WWDC 2020。我们可以看到这段代码进行预览:
struct CharacterNameView_Previews: PreviewProvider {
static var previews: some View {
CharacterNameView(CharacterDetail.panda)
.previewContext(WidgetPreviewContext(family: .systemSmall))
}
}
最佳答案
我遇到了类似的问题,我通过将 View 放入 VStack(或另一个容器)中解决了它。
这是我的有效代码:
struct WidgetViewPreviews: PreviewProvider {
static var previews: some View {
VStack {
WidgetView(entry: .mock)
}
.previewContext(WidgetPreviewContext(family: .systemSmall))
}
}
关于xcode - 无法使用 SwiftUI Preview 在 Xcode 中预览 Widget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63626253/