gpt4 book ai didi

ios - SwiftUI:如何在列表内正确设置内容大小变化的动画?

转载 作者:行者123 更新时间:2023-12-02 06:45:24 24 4
gpt4 key购买 nike

import SwiftUI

struct DynamicRectangle: View {
@State private var isExpanded = false

var body: some View {
Rectangle()
.fill(Color.blue)
.frame(width: 200, height: isExpanded ? 400 : 200)
.animation(.spring())

.onTapGesture {
self.isExpanded.toggle()
}
}
}

struct ContentView: View {

var body: some View {
List {
DynamicRectangle()
DynamicRectangle()
DynamicRectangle()
}
}
}

这是一个仍然存在明显问题的小示例:尽管大小变化动画平滑,但列表本身会立即更改其行大小。是否有任何解决方法可以使其对行大小以及我内部的内容大小进行动画处理?

谢谢!

最佳答案

当我使用 ScrollView 时,它工作得很好:

import SwiftUI

struct DynamicRectangle: View {
@State private var isExpanded = false

var body: some View {
Rectangle()
.fill(Color.blue)
.frame(width: 200, height: isExpanded ? 400 : 200)
.animation(.spring())

.onTapGesture {
self.isExpanded.toggle()
}
}
}

struct ContentView: View {

var body: some View {
ScrollView {
DynamicRectangle()
DynamicRectangle()
DynamicRectangle()
}
}
}

List 相比,我更喜欢 ScrollView

关于ios - SwiftUI:如何在列表内正确设置内容大小变化的动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58932825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com