如何获取 WidgetKit 小部件的高度和宽度?

How to get height and width of WidgetKit widgets?

我正在制作一个应用程序,用户可以在其中 select 列表中的不同小部件。该列表在 collectionView 中实现,之后打开一个 DetailView,我想在其中显示小部件的预览。但我不知道如何实施。最简单的就是制作一个复制widget的UIView,但是为此我需要知道widgets的大小,我知道只有三个而且是固定的,但我不明白如何获得它们。如果您在 SwiftUI 中实现它,也许您可​​以以某种方式将小部件本身嵌入到 DetailView 中?

如果您使用的是 SwiftUI,则可以使用 GeometryReader 获取小部件的尺寸。

用法示例:

struct TestView: View {
    var body: some View {
        GeometryReader { geo in
           //You now have access to geo.size.width and geo.size.height
        }
    }
}