SwiftUI Table Custom Swipe? - PullRequest
       13

SwiftUI Table Custom Swipe?

1 голос
/ 26 июня 2019

Есть ли способ смахнуть строки таблицы влево и вправо? Я не нашел что-то для нового Framework SwiftUI, так что, может быть, нет возможности использовать SwiftUI для этого? Мне нужно удалить строки и использовать пользовательские Swipes

1 Ответ

0 голосов
/ 28 июля 2019

Можно реализовать действие удаления и возможность упорядочить элементы списка довольно просто.

struct SwipeActionView: View {
    @State var items: [String] = ["One", "two", "three", "four"]

    var body: some View {
        NavigationView {
            List {
                ForEach(items.identified(by: \.self)) { item in
                    Text(item)
                }
                .onMove(perform: move)
                .onDelete(perform: delete)      
            }
            .navigationBarItems(trailing: EditButton())
        }
    }

    func delete(at offsets: IndexSet) {
        if let first = offsets.first {
            items.remove(at: first)
        }
    }

    func move(from source: IndexSet, to destination: Int) {
        // sort the indexes low to high
        let reversedSource = source.sorted()

        // then loop from the back to avoid reordering problems
        for index in reversedSource.reversed() {
            // for each item, remove it and insert it at the destination
            items.insert(items.remove(at: index), at: destination)
        }
    }
}

Редактировать: Есть эта статья от Apple, которую я не могу поверить, что я не нашел ранее. Создание жестов SwiftUI . Я еще не экспериментировал с этим, но статья, похоже, отлично справилась!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...