问题描述
点击iOS 14小部件时,它会打开该应用程序:
var body: some View {
Text(entry.text)
.widgetURL(WidgetEntryView.deeplinkURL)
}
应用程序能否获取打开它的小部件的大小(小,中,大)?
解决方法
您可以使用private void DoTest2 ()
{
A += () => DebugText ($"A Test");
A += B;
B += () => DebugText ($"B Test");
B += C;
C += () => DebugText ($"C Test");
A.Invoke ();
// Result: A Test
}
并将其传递给@Environment(\.widgetFamily)
或widgetURL
:
Link
然后检测在您的主应用程序中打开此URL:
struct Widget1EntryView: View {
@Environment(\.widgetFamily) var widgetFamily
var entry: Provider.Entry
var deeplinkURL: URL {
URL(string: "widget-deeplink://widgetFamily/\(widgetFamily)")!
}
var body: some View {
VStack {
Link("Tap me",destination: deeplinkURL)
Text("Widget family: \(String(describing: widgetFamily))")
.widgetURL(deeplinkURL)
}
}
}
这是一个GitHub repository,带有不同的窗口小部件示例,包括DeepLink和环境窗口小部件。