Jkr*_*ist 5 widget ios swift swiftui
我目前正在尝试使用 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)
}
}
Run Code Online (Sandbox Code Playgroud)
目前,点击小部件将打开应用程序的主屏幕。想要导航到特定屏幕。支持的家庭: . systemSmall-所以需要使用。widgetURL而不是 .Link
那么URL是Clicker的地方,如何导航到被调用的viewControllerClickerViewController
呢?如何处理这些链接?我想任何例子或解释都会在不久的将来帮助我和许多其他人;)
谢谢你!
这是可能的方法
var body: some Scene {
@StateObject private var appState = AppState()
WindowGroup {
ContentView()
.environmentObject(appState)
.onOpenURL(perform: { url in
appState.handle(url) // redirect to app state
})
}
}
Run Code Online (Sandbox Code Playgroud)
并且AppState
可以有,例如
class AppState: ObservableObject {
@Published var appScreen: _SomeEnumType_
func handle(url: URL) {
// ... update `appScreen` here correnspondingly
}
}
Run Code Online (Sandbox Code Playgroud)
因此,ContentView
根据应用程序状态,您可以在内部切换显示的视图。
归档时间: |
|
查看次数: |
1758 次 |
最近记录: |