Как я могу определить, находится ли список в нижней части прокрутки в Swiftui / iOS 15?
Я хочу определить, находится ли прокрутка списка внизу, и выполнить действие с помощью кнопки, только если она не внизу. Как я могу это сделать?
NB Сначала пролистываю до конца списка и это нормально
Мой список находится в ScrollViewReader (код ниже):
struct TestScrollDetectBottomPosition: View {
@State private var userText: String = ""
@State private var scrolled: Bool = false
var body: some View {
VStack {
ScrollViewReader { reader in
List {
ForEach(0..<20) { i in
Text("Item \(i)").padding()
.id(i)
.onAppear {
// First time Scroll
if !scrolled {
reader.scrollTo(19, anchor: .bottom)
scrolled = true
}
}
}
}
.refreshable {
// Do something here
}
}
HStack {
TextField("Enter something here", text: $userText)
.padding(.horizontal)
.frame(height: 40)
.background(Color.primary.opacity(0.06))
.clipShape(Capsule())
Button(action: {
// If not at the bottom scroll do this
}) {
Image(systemName: "paperplane.fill")
.font(.system(size: 22))
.foregroundColor(.white)
.frame(width: 40, height: 40)
.background(Color(#colorLiteral(red: 0.259467423, green: 0.5342320204, blue: 0.7349982858, alpha: 1)))
.clipShape(Circle())
}
}
.padding(10)
}
}
}