我正在尝试在SwiftUI列表中动态展开单元格,当用户点击单元格时发生此动画。然而,这个动画效果存在问题。
我遇到了这个回答(https://dev59.com/E1MH5IYBdhLWcg3w3Efb#60873883),可以帮助解决动画问题,但需要预先知道单元格展开后的期望高度。在我的情况下,这将取决于note.text
中的数据:
List{
ForEach(notes){ note in
VStack{
HStack{
Text(note.title)
.fontWeight(.bold)
.foregroundColor(.gray)
Spacer()
Image(systemName: "chevron.right.circle")
.resizable()
.aspectRatio(contentMode: .fit)
.foregroundColor(.gray)
.frame(width: 20, height: 20)
}
.padding(.vertical)
.contentShape(Rectangle())
.onTapGesture{
selectedNote = note
}
if isSelected(note) {
Text(note.text)
}
}
.padding([.bottom, .leading, .trailing], 20)
.background(
RoundedRectangle(cornerRadius: 25, style: .continuous)
.foregroundColor(isSelected(noteSection) ? .red : .clear)
)
.animation(.default)
}
.onMove(perform: move)
}
从上面的代码中可以看出,我需要使用一个列表,以便我可以利用.onMove功能。
是否有一种方法可以获得链接答案中相同的平滑列表动画,但适用于动态扩展大小?
谢谢。