Arn*_*ani 2 wwdc swift widgetkit swiftui
我正在跟踪 Fromm wwdc 2020 上的小部件代码,在第一部分中他们提到使用新的占位符 api 和.isPlacholder
. 所以我尝试在我的小部件中实现它,如下所示:
struct PlaceholderView: View {
var body: some View {
RandomWidgetView(book: testBook)
.isPlaceholder(true)
}
}
Run Code Online (Sandbox Code Playgroud)
但是我得到了错误Value of type 'RandomWidgetView' has no member 'isPlaceholder'
。谷歌搜索后我发现了这个:
struct PlaceholderView: View {
var body: some View {
RandomWidgetView(book: testBook)
.redacted(reason: .placeholder)
}
}
Run Code Online (Sandbox Code Playgroud)
然而,这并没有创建正确的占位符,而是完全删除了内部的视图。
我是否缺少导入或者自 wwdc 以来它已更改?如何创建正确的占位符?
在您的 Widget 扩展中,您应该具有如下所示的代码,正如我在这里所看到的,这只是默认的 Widget 实现。如果您将其放置.redacted(reason: .placeholder)
在您拥有的视图中,Provider.Entry
它应该会为您提供所需的结果。
// other TimelineProvider code...
struct RandomWidgetViewEntryView: View {
var entry: Provider.Entry
var body: some View {
Text(entry.date, style: .time)
.redacted(reason: .placeholder)
}
}
@main
struct RandomWidgetView: Widget {
let kind: String = "RandomWidgetView"
var body: some WidgetConfiguration {
StaticConfiguration(kind: kind, provider: Provider()) { entry in
RandomWidgetViewEntryView(entry: entry)
}
.configurationDisplayName("My Widget")
.description("This is an example widget.")
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
953 次 |
最近记录: |