Я также понимаю, что в UIKit с UIScrollView можно использовать CGRectIntersectsRect между рамкой элемента и рамкой ScrollView в UIScrollViewDelegate, но я бы предпочел найти решение в SwiftUI, если возможно.
Пример кода выглядит следующим образом:
Код: Выделить всё
ScrollView {
ScrollViewReader { action in
ZStack {
VStack {
ForEach(//array of chats) { chat in
//chat display bubble
.onAppear(perform: {chatsOnScreen.append(chat)})
}.onReceive(interactionHandler.$activeChat, perform: { _ in
//scroll to active chat
})
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/661 ... scrollview
Мобильная версия