为什么Swiftui中的EditMode在工具栏中不起作用?
我正在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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论