【问题标题】:I want to create a variable for every scene in SwiftUI我想为 SwiftUI 中的每个场景创建一个变量
【发布时间】:2021-11-01 09:18:55
【问题描述】:

我正在尝试为 iPadOS 15 实施新命令,为此您必须像以下示例一样在应用程序中声明它们

@main
struct I_FeelApp: App {
    @State private var sceneCommands = GlobalCommands()

    var body: some Scene {
        
        WindowGroup {
            ContentView(globalCommands: sceneCommands)
        }
        .commands(content: { sceneCommands.commands })
    }
}

我使用这种方法的问题是对象GlobalCommands() 是为整个应用程序而不是为每个场景创建的,因此其中一个场景的更改将修改所有场景,如下例所示

我试图创建一个新的场景结构并在那里创建命令,但是 SwiftUI 为应用程序创建它,而不是为场景创建它

在普通视图中创建它不起作用,因为我无法将命令添加到视图,只能添加到场景

【问题讨论】:

    标签: swift swiftui ipados


    【解决方案1】:

    我联系了苹果并找到了答案,我的问题是我不知道属性包装器@SceneStorage@FocusedBinding

    因此,一旦我知道了那些选项,我就创建并使用了它们并且它起作用了。

    Here's 一个指向 Apple 的 Code-Along 的链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-03
      相关资源
      最近更新 更多