我已经为我的应用程序准备了几个 iOS14 主屏幕小部件,并将它们全部返回WidgetBundle
像这样:
@main
struct WidgetsBudle: WidgetBundle {
@WidgetBundleBuilder
var body: some Widget {
Widget1()
Widget2()
Widget3()
}
}
Widget2
依赖于位置服务才能正常工作,但是如果用户没有授予位置权限,那么即使显示这个小部件也没有任何意义。我可以有一些涉及返回内部小部件的逻辑吗WidgetBundle
body ?
如果您想根据某种逻辑选择小部件包,您可以执行以下操作:
@main
struct WidgetLauncher {
static func main() {
if isLocationEnabled {
WidgetBundle1.main()
} else {
WidgetBundle2.main()
}
}
static var isLocationEnabled: Bool {
/// Put your logic here
true
}
}
struct WidgetBundle1: WidgetBundle {
var body: some Widget {
Widget1()
Widget2()
Widget3()
}
}
struct WidgetBundle2: WidgetBundle {
var body: some Widget {
Widget1()
Widget2()
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)