Проблема 1: прыгающая анимация при прокрутке
Когда я закрываю подробное представление и затем прокручиваю, соответствующий элемент имеет нежелательную упругую/пружинящую анимацию. Я хотел бы полностью удалить эту анимацию.
Проблема 2. Добавление углового радиуса обрезает вид
Если я добавляю угловой радиус к элементам сетки (
Код: Выделить всё
.cornerRadius(12)эффект упругости:

эффект обрезки:

В моем коде я использую изображения и более сложные представления, здесь это просто красные прямоугольники.
Вот мой минимальный воспроизводимый пример:
Код: Выделить всё
import SwiftUI
struct TestItem: Identifiable {
let id: Int
}
@Observable
final class TestViewModel {
var selectedItem: TestItem?
var transitionID: String?
let items = (0.. some View {
Button {
viewModel.selectItem(item)
} label: {
Rectangle()
.fill(Color.red)
.frame(height: 150)
}
.matchedTransitionSource(id: "item-\(item.id)", in: namespace)
}
private func detailView(for item: TestItem) -> some View {
ZStack {
Rectangle()
.fill(Color.red)
.ignoresSafeArea()
VStack {
HStack {
Spacer()
Button("Close") {
viewModel.dismiss()
}
.padding()
}
Spacer()
}
}
}
}
- Нажмите на любой красный прямоугольник.
- Закройте подробное представление.
- Прокрутите сетку → ранее выбранный элемент подпрыгивает.
- Откомментируйте .cornerRadius(12) и повторите → Углы обрезаются во время прокрутка
Среда: iOS 26.0, Xcode 26.0
Кто-нибудь сталкивался с этим? Есть ли способ отключить анимацию упругости или исправить отсечение радиуса угла?
Подробнее здесь: https://stackoverflow.com/questions/797 ... ansition-z
Мобильная версия