[img]https:/ /i.sstatic.net/VCy743th.png[/img]
И когда я пытаюсь перетащить, чтобы изменить порядок строк в списке, исчезает:

Вот код, который я использую :
Код: Выделить всё
import SwiftUI
import SwiftData
struct PrioritizeAreas: View {
@State private var categories: [CategoryItem] = [CategoryItem(category: "A", sortOrder: 0),
CategoryItem(category: "B", sortOrder: 1),
CategoryItem(category: "C", sortOrder: 2)]
var body: some View {
ZStack {
LinearGradient(colors: [.green, .indigo], startPoint: .top, endPoint: .bottom).ignoresSafeArea()
List {
ForEach(categories) { item in
Text(item.category)
.font(.system(size: 14, weight: .semibold, design: .rounded))
.foregroundStyle(Color.white)
.frame(height: 42)
.padding(.horizontal)
.frame(maxWidth: .infinity)
.background {
RoundedRectangle(cornerRadius: 22)
.foregroundStyle(.orange.blendMode(.normal).opacity(1))
}
}
.onMove { indices, newOffset in
categories.move(fromOffsets: indices, toOffset: newOffset)
}
.listRowSeparator(.hidden)
.listRowInsets(EdgeInsets(top: 4, leading: 0, bottom: 4, trailing: 0))
.listRowBackground(Color.clear)
}
.listStyle(.insetGrouped)
.scrollContentBackground(.hidden)
}
}
private struct CategoryItem: Identifiable {
var id = UUID()
let category: String
let sortOrder: Int
}
}
#Preview {
NavigationStack {
PrioritizeAreas()
}
}
Примечание. Фон представляет собой линейный градиент. который я хочу сохранить.
Это на iOS 17.4 с использованием Xcode версии 15.4 (15F31d)
Подробнее здесь: https://stackoverflow.com/questions/785 ... reordering