Как удалить фоновые артефакты, исправить исчезновение строки при изменении порядка элементов в списке SwiftUI?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как удалить фоновые артефакты, исправить исчезновение строки при изменении порядка элементов в списке SwiftUI?

Сообщение Anonymous »

Когда я пытаюсь переместить эти строки, я получаю белый фон вокруг каждой из моих пользовательских строк:
[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()
}
}
Как удалить эти визуальные артефакты при изменении порядка списка SwiftUI?
Примечание. Фон представляет собой линейный градиент. который я хочу сохранить.
Это на iOS 17.4 с использованием Xcode версии 15.4 (15F31d)

Подробнее здесь: https://stackoverflow.com/questions/785 ... reordering
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»