【发布时间】:2020-11-17 23:16:08
【问题描述】:
我在 xcode 12 中创建了一个项目并添加了一个小部件扩展目标。目标已创建,我只剩下一个显示时间的简单小部件。小部件的预览按预期工作,并且小部件在模拟器中按预期显示。但是如果我将视图更改为使用List 而不是Text,就像这样:
struct SimpleWidgetEntryView : View {
var entry: Provider.Entry
var body: some View {
List {
Text("Something")
}
}
}
预览和模拟器都在黄色背景上显示红色禁止进入标志:
我尝试将List 放入VStack 并使用动态列表但没有成功。我找不到任何关于 List 在小部件中被禁止的文档。我试过重新启动 xcode 和模拟器,清理和重建。我正在使用 xcode 12.0 beta 3。
~我在尝试使用 UIView 包裹在 UIViewRepresentable 时也遇到了这个问题。该视图是来自图表库的LineChartView。~ 编辑:根据this post on the Apple developer forums,不可能在 WidgetKit 小部件中使用 UIKit 视图。
有谁知道我如何在小部件中使用List?非常感谢任何帮助。谢谢
【问题讨论】:
-
列表是表视图,表视图是滚动视图。小部件可能不支持滚动视图。
-
删除这行是否还会报错:var entry: Povider.Entry ?
-
@EmilioPelaez 很可能就是这样。很高兴看到一些文档明确地说明了一种或另一种方式。
-
@RazvanS。如果我删除该行(并更改期望将其提供给默认初始化程序的位置),错误仍然会发生。
-
@Paul 如果我在操场上复制您的代码,没有我提到的那一行,它可以正常工作。 MacOS Catalina,XCode 11.6
标签: ios swift swiftui swiftui-list widgetkit