1

我想做的是在我的应用主屏幕上显示小部件视图,就像在这个应用中一样:

ColorWidgets 应用程序

我试过WidgetEntryView从我的应用程序调用,但它不起作用。

4

2 回答 2

2
  1. 仅为您的和创建单独的文件:ViewEntry
struct SimpleEntry: TimelineEntry {
    let date: Date
}
struct SimpleWidgetEntryView: View {
    var entry: SimpleProvider.Entry

    var body: some View {
        Text(entry.date, style: .time)
    }
}
  1. 将这些文件的目标成员资格设置为App和 Widget。

只选择这两个文件很重要 - 确保不会意外地将@mainWidget / WidgetBundle 添加到 App 目标。

  1. 直接在 ContentView 中显示 Widget View:
struct ContentView: View {
     var body: some View {
        SimpleWidgetEntryView(entry: .init(date: Date()))
    }
}

这是一个GitHub 存储库,其中包含不同的小部件示例,包括预览小部件。

于 2020-09-24T22:20:57.010 回答
0

我编写了一个视图控制器来显示 UIKit 应用程序中的小部件。我构建它是为了自动化我的屏幕截图,但您可以将其用作参考。

你可以在这里看到它的样子。

它支持所有小部件尺寸,虽然它没有确切的尺寸,但我认为它做得足够好。

就像已经提到的那样,您还需要将一些小部件视图文件添加到您的应用程序目标中。

于 2020-09-24T22:28:57.913 回答