【问题标题】:Exiting EditMode When View Disappears视图消失时退出编辑模式
【发布时间】:2020-10-12 12:39:13
【问题描述】:

我用EditButton 输入EditMode,当我的view 消失时我想离开它,所以EditMode 不会继续到下一个view,这是我的代码:

@State var array = [1,2,3,4]

var body : some View {
  VStack{
    HStack{
      Spacer()
      EditButton()
    }
    List{
       ForEach(self.array){ int in
            Text(int)
       }
    }
  }
}

当用户移动到具有不同列表的不同视图时,没有事先在 EditButton 上按 Done,EditMode 会保留,但我希望它变为 .inactive

【问题讨论】:

    标签: ios swiftui swiftui-list


    【解决方案1】:

    您可以使用@Environment(\.editMode) 并将其设置为.inactive in onDisappear:

    struct ContentView: View {
        @Environment(\.editMode) var editMode
        
        var body: some View {
            VStack {
                ...
            }
            .onDisappear {
                editMode?.wrappedValue = .inactive
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      • 2016-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多