У меня есть ScrollView с несколькими кнопками и модификатором .refreshable. Как только я тяну, чтобы обновить, и появляется индикатор обновления, цели касания больше не соответствуют видимым положениям кнопок. Например, нажатие кнопки A запускает действие кнопки B, как если бы область проверки нажатия не перемещалась вместе с содержимым.
Это происходит только тогда, когда отображается индикатор обновления. До дергания на обновление все правильно и после тоже. Протестировано на iOS 18 и 26 (Xcode 16.4, Xcode 26).
Вот минимальный воспроизводимый пример:
import SwiftUI
struct ContentView: View {
var body: some View {
ScrollView {
VStack {
Button("Button A") {
print("A")
}
.buttonStyle(.borderedProminent)
Button("Button B") {
print("B")
}
.buttonStyle(.borderedProminent)
Button("Button C") {
print("C")
}
.buttonStyle(.borderedProminent)
Button("Button D") {
print("D")
}
.buttonStyle(.borderedProminent)
Button("Button E") {
print("E")
}
.buttonStyle(.borderedProminent)
}
.frame(maxWidth: .infinity)
}
.refreshable {
try? await Task.sleep(for: .seconds(60))
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... scrollview