如何在窗口小部件扩展中添加5个以上的窗口小部件? WidgetBundle的小部件的最大数量不能超过5

问题描述

似乎WidgetBundle一个最大数量限制,如果超过5,则会报告编译错误Extra argument in call

但是我在任何文档中都没有看到这样的描述,也没有其他开发人员提到此问题。

有人有主意吗?

@main
struct WidgetsBundle: WidgetBundle {
    @WidgetBundleBuilder
    var body: some Widget {
        Widget1()
        Widget2()
        Widget3()
        Widget4()
        Widget5()
        Widget6() // Extra argument in call
    }
}

解决方法

我在WidgetBundle中遇到相同的错误。如果您有兴趣为该应用使用5个以上的小部件,则有一种解决方法:

@main
struct WidgetKitExtension: WidgetBundle {
    @WidgetBundleBuilder
    var body: some Widget {
        Widget1()
        Widget2()
        Widget3()
        Widget4()
        Bundle2().body
    }
}

struct Bundle2: WidgetBundle {
    @WidgetBundleBuilder
    var body: some Widget {
        Widget5()
        Widget6()
        Widget7()
    }
}

基本上,您创建第二个WidgetBundle并在第一个Xcode 12.0.1中使用它。我已验证此功能自ggplot(meant41,aes(x=Group.2,y=ValueColumn,color=Q)) + geom_line()

开始有效

虽然没有测试过使用超过5个小部件提交应用程序。