gpt4 book ai didi

ios - 如何从小部件扩展导航到 UIKit viewController?

转载 作者:行者123 更新时间:2023-12-01 21:20:27 25 4
gpt4 key购买 nike

我目前正在尝试使用 SwiftUI 制作一个小部件。
假设我的代码是这样的:

struct WidgetView: View {
var data : DataProvider.Entry
var body: some View {
ZStack {
Image("Clicker")
.padding(.all, 15)
}.widgetURL(URL(string: "ClickerViewController"))
.padding(.all, 30)
.background(Color.green)
}
}
目前,点击小部件会打开应用程序的主屏幕。想要导航到特定屏幕。
支持的家庭: . 系统小 - 所以需要使用 . 小部件网址 而不是 .Link
那么URL是Clicker的地方,如何导航到名为 ClickerViewController的viewController ?
如何处理这些链接?在不久的将来,任何示例或解释都会对我和许多其他人有所帮助;)
谢谢!

最佳答案

这是可能的方法

var body: some Scene {
@StateObject private var appState = AppState()

WindowGroup {
ContentView()
.environmentObject(appState)
.onOpenURL(perform: { url in
appState.handle(url) // redirect to app state
})
}
}
AppState可以有,例如
class AppState: ObservableObject {
@Published var appScreen: _SomeEnumType_

func handle(url: URL) {
// ... update `appScreen` here correnspondingly
}
}
所以里面 ContentView根据应用程序状态,您可以切换显示的 View 。

关于ios - 如何从小部件扩展导航到 UIKit viewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63810770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com