Ama*_*lho 5 macos xcode widgetkit swiftui
我正在尝试使用 Widget 上下文预览一些视图,例如:
\nstruct MyTasksView_Previews: PreviewProvider {\n static var previews: some View {\n MyTasksView(\n myTasks: Fake.myTasks,\n user: Fake.user,\n error: ""\n )\n .previewContext(WidgetPreviewContext(family: .systemMedium))\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n但是,我在尝试运行预览时收到此错误。而且,我不确定为什么会发生这种情况。
\n\n\nRemoteHumanReadableError:未知的预览提供程序 \xe2\x80\x9cMyTasksView_Previews\xe2\x80\x9d\nMyApp 不包含名为 \xe2\x80\x9cMyTasksView_Previews\xe2\x80\x9d 的预览提供程序。检查您的构建设置以确保预览提供程序已编译到您的产品中。
\n
我也尝试使用简单的Text(text).previewContext(WidgetPreviewContext(family: .systemMedium))
,但它也不起作用。我正在使用 Xcode beta 5。
在 WWDC 2020 的 Apple Emoji Rangers Demo App 中,我们可以看到这段代码进行预览:
\nstruct CharacterNameView_Previews: PreviewProvider {\n static var previews: some View {\n CharacterNameView(CharacterDetail.panda)\n .previewContext(WidgetPreviewContext(family: .systemSmall))\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n
Ruf*_*rza 13
我遇到了类似的问题,我通过将视图放入 VStack(或另一个容器)中解决了它。
这是我的有效代码:
struct WidgetViewPreviews: PreviewProvider {
static var previews: some View {
VStack {
WidgetView(entry: .mock)
}
.previewContext(WidgetPreviewContext(family: .systemSmall))
}
}
Run Code Online (Sandbox Code Playgroud)
小智 1
添加Widget extension
目标并激活它。欲了解更多信息
https://developer.apple.com/documentation/widgetkit/creating-a-widget-extension
归档时间: |
|
查看次数: |
8969 次 |
最近记录: |