为什么Swiftui中的EditMode在工具栏中不起作用?

发布于 2025-02-07 10:15:56 字数 1001 浏览 0 评论 0原文

我正在Swiftui中学习EditMode。我发现,如果我将Editutbutton放在堆栈中,则EditMode将在激活和发挥作用之间切换。如果我将EditUntton放在工具栏中,则如果我点击EditUndton,则EditMode不会更改。

以下工作。

struct FirstView: View {
    
    @Environment(\.editMode) private var editMode

    var body: some View {
        VStack {
            Text(editMode?.wrappedValue == .active ? "Active" : "Inactive")
            EditButton()
        }
    }
}

以下是行不通的。

struct FirstView: View {
    
    @Environment(\.editMode) private var editMode

    var body: some View {
        NavigationView {
            Text(editMode?.wrappedValue == .active ? "Active" : "Inactive")
                .toolbar {
                    EditButton()
                }
        }
    }
}

第二个问题是为什么我不能使用以下内容使用ISEDITION属性?

Text((editMode?.isEditing ?? false) ? "Active" : "Inactive")

// The following works:
Text(editMode?.wrappedValue.isEditing ?? false ? "Active" : "Inactive")

有人知道为什么吗?谢谢!

I'm learning the editMode in SwiftUI. I found that if I put the EditButton in a stack, the editMode will switch between .active and .inactive. If I put the EditButton in the toolbar, the editMode does not change if I tap the EditButton.

The following works.

struct FirstView: View {
    
    @Environment(\.editMode) private var editMode

    var body: some View {
        VStack {
            Text(editMode?.wrappedValue == .active ? "Active" : "Inactive")
            EditButton()
        }
    }
}

The following does not work.

struct FirstView: View {
    
    @Environment(\.editMode) private var editMode

    var body: some View {
        NavigationView {
            Text(editMode?.wrappedValue == .active ? "Active" : "Inactive")
                .toolbar {
                    EditButton()
                }
        }
    }
}

The second question is why I cannot use the isEditing property as below?

Text((editMode?.isEditing ?? false) ? "Active" : "Inactive")

// The following works:
Text(editMode?.wrappedValue.isEditing ?? false ? "Active" : "Inactive")

Does anyone know why? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文