Tahrirlash rejimi (Edit Mode)


ULASHISH

SwiftUI ro‘yxatlar va formalar: tahrirlash rejimi (Edit Mode)

EditMode ni almashtirish orqali ro‘yxatlarda tartibni o‘zgartirish va o‘chirishni yoqing.


Misol: o‘rnatilgan EditButton

Misol

import SwiftUI

struct EditButtonDemo: View {
  @State private var items = ["A","B","C"]
  var body: some View {
    NavigationStack {
      List {
        ForEach(items, id: \.self) { Text($0) }
          .onDelete { items.remove(atOffsets: $0) }
          .onMove { items.move(fromOffsets: $0, toOffset: $1) }
      }
      .navigationTitle("Edit Mode")
      .toolbar { EditButton() }
    }
  }
}
import SwiftUI

struct ContentView: View { var body: some View { EditButtonDemo() } }
import SwiftUI

@main
struct MyApp: App { var body: some Scene { WindowGroup { ContentView() } } }

Misolni ishga tushirish »



Misol: maxsus almashtirgich

Misol

import SwiftUI

struct EditCustomDemo: View {
  @State private var items = ["A","B","C"]
  @State private var editMode: EditMode = .inactive
  var body: some View {
    VStack {
      List {
        ForEach(items, id: \.self) { Text($0) }
          .onDelete { items.remove(atOffsets: $0) }
          .onMove { items.move(fromOffsets: $0, toOffset: $1) }
      }
      .environment(\.editMode, $editMode)
      Button(editMode.isEditing ? "Done" : "Edit") { editMode.toggle() }
    }
  }
}

private extension EditMode { mutating func toggle() { self = (isEditing ? .inactive : .active) } }
import SwiftUI

struct ContentView: View { var body: some View { EditCustomDemo() } }
import SwiftUI

@main
struct MyApp: App { var body: some Scene { WindowGroup { ContentView() } } }

Misolni ishga tushirish »



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!