【问题标题】:How to style table view for Widget configuration dynamic values?如何为 Widget 配置动态值设置表格视图的样式?
【发布时间】:2021-08-09 17:39:39
【问题描述】:

我有一个使用IntentConfiguration 配置的功能正常的小部件,以允许用户编辑小部件的显示数据。

这部分工作正常。我想做的是设置当用户配置小部件并从动态提供的值之一中选择时呈现的表格视图的样式。

目前看起来是这样的:

我注意到 Home Assistant 应用有一些不同的样式:

看起来他们正在根据某些标准 (see here) 设置视图,但我还没有完全弄清楚它是如何工作的。 Apple 文档在这方面似乎也很少。

目前,我只定义了实际小部件的视图,例如:

struct MyWidgetView: View {
    var entry: Provider.Entry

    var body: some View {
        Text(entry.name)
    }
}

@main
struct MyWidget: Widget {
    let kind: String = "MyWidget"

    var body: some WidgetConfiguration {
        IntentConfiguration(kind: kind, intent: ConfigurationIntent.self, provider: Provider()) { entry in
            MyWidgetView(entry: entry)
        }
        .configurationDisplayName("A Widget")
        .description("Displays stuff.")
    }
}

我可以在IntentHandler 中毫无问题地提供配置列表选项,但是如何调整 UI?

【问题讨论】:

    标签: swift swiftui widgetkit


    【解决方案1】:

    在您的 IntentHandler 中,您返回一个 INObject 集合(实际上您将使用项目生成的 INObject 子类,但请查看 INObject 的 API)。创建这些对象时,您可以传入图像和/或字幕,这就是您在该屏幕截图中看到的内容。

    【讨论】:

    • 嗯,这比预期的要简单。我希望 Apple 文档能够更好地显示此信息。哦,好吧,现在只是处理随机未出现在添加新小部件列表中的应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 2018-10-25
    • 1970-01-01
    • 2015-07-03
    • 2017-07-16
    相关资源
    最近更新 更多