我目前正在学习如何制作widget。我在我的应用程序中添加了widget扩展,xcode给了我一些基本的widget。问题是,我想让用户不仅在主屏幕上看到我的小部件,而且在应用程序内,在一些自定义视图。我该怎么做?我是SwiftUI的新手,所以任何帮助都将不胜感激)[![在此处输入图像描述][1]][1]
P.s这就是我正在努力做的事情,但仅在我的应用程序中)[1]:https://i.stack.imgur.com/AbnlQ.png
我目前正在学习如何制作widget。我在我的应用程序中添加了widget扩展,xcode给了我一些基本的widget。问题是,我想让用户不仅在主屏幕上看到我的小部件,而且在应用程序内,在一些自定义视图。我该怎么做?我是SwiftUI的新手,所以任何帮助都将不胜感激)[![在此处输入图像描述][1]][1]
P.s这就是我正在努力做的事情,但仅在我的应用程序中)[1]:https://i.stack.imgur.com/AbnlQ.png
1条答案
按热度按时间0aydgbwb1#
如果你想从应用程序内部真实的反映小部件的变化,你需要在小部件和应用程序之间共享这些变化。为此,您可以使用
@AppStorage
属性 Package 器。另外,在Xcode中转到您的应用目标,单击
Signing & Capabilities
,然后单击左上角的+ Capability
。添加新的同名App Group
,即group.com.authorName.myAppName.shared
。对小部件扩展目标也执行相同的操作。现在,当您在应用程序中处理小部件视图时,如果该视图中有任何文本,请为其分配
fontColor
属性。最后一步,当你进入后台,那么你必须重新加载所有小部件的时间线.为此,在sceneDelegate中,您可以像下面这样处理它:
这样,你就可以看到你在应用程序中执行的小部件的真实的更改。希望能帮上忙。