【问题标题】:How to add Buttons to a iOS 14 Widget如何将按钮添加到 iOS 14 小部件
【发布时间】:2020-10-21 06:11:21
【问题描述】:

我正在尝试将按钮添加到系列类型为“.systemLarge”的小部件。我想在不打开应用程序的情况下执行一些代码。

有人知道怎么做吗?

例如,Shortcuts App Widget 包含一些按钮,您可以在不打开应用程序的情况下点击以执行快捷方式。

【问题讨论】:

标签: ios swift widget swiftui ios14


【解决方案1】:

小部件是只读的。 Shortcuts 应用是个例外。

https://developer.apple.com/documentation/widgetkit/creating-a-widget-extension

小部件呈现只读信息,不支持交互元素,例如滚动元素或开关。 WidgetKit 在呈现小部件的内容时省略了交互元素。

【讨论】:

  • 好吧我不确定,因为他们没有在那个提示中明确提到按钮。是的,当然是因为 Shortcuts App Widget。但这并不是他们自己的应用第一次不符合准则。
  • 我在 iOS 13 小部件中添加了按钮,没有任何限制或问题!
  • 是的。旧式小部件可以支持按钮。新的 iOS 14 小部件不能。
  • 地图应用程序使用小部件内的按钮。所以在某种程度上是可能的。
  • 是的地图有 2 个按钮,但它们会打开应用程序。然后由于在每个按钮上设置了 widgetUrl,一个动作就完成了。当应用程序打开时,它是 onOpenUrl() 进行必要的检查以执行适当的操作。浪费了一天的时间来计算所有这些......我需要一个按钮来简单地让小部件上的数字从友好显示(k,M,B)变为完整数字。
【解决方案2】:

您可以在中型和大型部件上添加链接控件以获得类似按钮的行为。

这将不允许您创建交互式小部件,这些小部件通过单击小部件内的元素来更改其内容。 但是您将能够根据您的应用通过小部件激活时提供的 widgetUrl 来判断点击了哪个“链接”。

在此处查看响应用户交互一章: https://developer.apple.com/documentation/widgetkit/creating-a-widget-extension

【讨论】:

  • 似乎每个小部件只支持一个 url,所以没有办法告诉你不幸的是,仍然很酷
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-09
  • 1970-01-01
  • 2017-07-09
  • 2011-07-02
  • 1970-01-01
  • 2019-06-27
  • 1970-01-01
相关资源
最近更新 更多