首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过SwiftUI预览预览Xcode中的Widget

无法通过SwiftUI预览预览Xcode中的Widget
EN

Stack Overflow用户
提问于 2020-08-28 01:34:07
回答 4查看 4.3K关注 0票数 4

我试图通过使用Widget上下文预览某些视图,例如:

代码语言:javascript
复制
struct MyTasksView_Previews: PreviewProvider {
    static var previews: some View {
            MyTasksView(
                myTasks: Fake.myTasks,
                user: Fake.user,
                error: ""
            )
            .previewContext(WidgetPreviewContext(family: .systemMedium))
    }
}

但是,在尝试运行预览时,我会得到这个错误。我不知道为什么会发生这种事。

RemoteHumanReadableError:未知预览提供程序“MyTasksView_Previews”MyApp不包含名为“MyTasksView_Previews”的预览提供程序。检查您的构建设置以确保预览提供程序已编译到您的产品中。

我也尝试使用一个简单的Text(text).previewContext(WidgetPreviewContext(family: .systemMedium)),但它也不起作用。我正在使用Xcode beta 5。

在苹果,为WWDC 2020演示应用程序。我们可以看到以下用于预览的代码:

代码语言:javascript
复制
struct CharacterNameView_Previews: PreviewProvider {
    static var previews: some View {
        CharacterNameView(CharacterDetail.panda)
            .previewContext(WidgetPreviewContext(family: .systemSmall))
    }
}

EN

回答 4

Stack Overflow用户

发布于 2021-01-02 08:44:17

我也有类似的问题,我通过将视图放入VStack (或另一个容器)来解决它。

下面是我的代码:

代码语言:javascript
复制
struct WidgetViewPreviews: PreviewProvider {

  static var previews: some View {
    VStack {
      WidgetView(entry: .mock)
    }
    .previewContext(WidgetPreviewContext(family: .systemSmall))
  }
}
票数 6
EN

Stack Overflow用户

发布于 2022-08-19 04:23:59

这是Xcode中的一个bug,您只能使用“单一”小部件目标的previewContext。所以你需要取消选择其他目标。

票数 4
EN

Stack Overflow用户

发布于 2021-07-02 16:46:23

在我的UIKit应用程序中添加小部件扩展时,我也遇到了同样的问题。

将Class目标成员资格更改为小部件扩展为我解决了这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63626253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档