Быстрая передача представления между ячейками списка с соответствующим эффектом измерения

#swiftui-geometryeffect

Вопрос:

Я пытаюсь передать представление между ячейками одного и того же списка. Я видел 0 примеров этого в Интернете. Каждый пример предназначен для того, чтобы иметь предварительный просмотр, который показывает представления.

Я знаю, что могу использовать представление прокрутки, но мне особенно интересно научиться делать это с помощью представления списка.

Это код моей ячейки:

 struct SelectableRow: View {
    @Binding var selectedCategoryID: Int
    @Binding var previousSelectedCategoryID: Int
    var category: Category
    @Namespace private var  namespace
    
    var body: some View {
        HStack {
            Text(self.category.name.capitalizingFirstLetter())
                .font(.body)
                .fontWeight(.light)
            Spacer()
                .background(Color.red)
            if category.id == selectedCategoryID {
                Circle()
                    .foregroundColor(.pink)
                    .aspectRatio(contentMode: .fit)
                    .frame(height: 30)
                    .matchedGeometryEffect(id: "Cell(selectedCategoryID)", in: namespace, properties: .frame, anchor: .center, isSource: false)
            }
            else if category.id == previousSelectedCategoryID {
                Circle()
                    .foregroundColor(.pink)
                    .aspectRatio(contentMode: .fit)
                    .frame(height: 30)
                    .matchedGeometryEffect(id: "Cell(selectedCategoryID)", in: namespace, properties: .frame, anchor: .center, isSource: true)
            }
        }
        .contentShape(Rectangle())
        .onTapGesture {
            previousSelectedCategoryID = selectedCategoryID
            withAnimation {
                selectedCategoryID = category.id
            }
        }
    }
}
 

Это не работает.. Он показывает мне представление как для выбранной ячейки, так и для предыдущей выбранной ячейки, когда я действительно хочу, чтобы представление передавалось анимированно из одной ячейки в другую.

У кого-нибудь есть какие-нибудь идеи, что я делаю не так??