В приложении SwiftUI я пытаюсь создать список, который автоматически переходит к следующей строке при нажатии кнопки.
По-видимому, эта функция в настоящее время невозможна со списком SwiftUI, но с UITableView с использованием метода scrollToRowAtIndexPath, как указано в части № 3 этого ответа https://stackoverflow.com/a/58830883/11698443 Этот ответ хорошо объяснен, но не предлагает, как реализовать то, что они назвали лучшим решением.
Ниже приведен пример кода того, как список может выглядеть в SwiftUI. Цель состоит в том, чтобы нажать кнопку, а затем прокрутить список до следующей строки. Я думаю, что решение должно взаимодействовать с UIKit, чтобы оно работало. Было бы здорово, если бы кто-нибудь мог придумать, как это сделать максимально чистым способом. К сожалению, это невозможно сделать с использованием всего SwiftUI.
Заранее благодарим всех, кто думает, что может решить эту проблему.
import SwiftUI
struct ScrollingList: View {
var body: some View {
List(0 ..< 10) { item in
VStack {
Text("\(item)")
Button(action: {}) {
Text("Scroll To Next Item")
}
}
.frame(height: 500)
.background(Color.blue)
}
}
}