我发现了一个问题,在某些情况下,在LazyVStack内部,特别是当内容很长时,DisclosureGroup在点击时不会扩展。这是一个SwiftUI错误,还是我做错了?
下面是一个再现问题的示例(Xcode 14.0.1,iOS 16.0.3),注意最后7个DisclosureGroup不会展开。
import SwiftUI
struct Entity: Identifiable {
var id = UUID()
let header = "HEADER"
let body = "BODY"
}
struct FoldView: View {
var entities: [Entity]
init() {
entities = []
for _ in 1...30 {
entities.append(Entity())
}
}
var body: some View {
ScrollView {
LazyVStack(alignment: .leading) {
ForEach(entities) { entity in
DisclosureGroup {
Text(entity.body)
} label: {
Text(entity.header)
}
Text("Middle")
}
}
.padding(.horizontal)
}
}
}
struct FoldView_Previews: PreviewProvider {
static var previews: some View {
FoldView()
}
}发布于 2022-10-20 06:00:37
试试这个,我刚删除了文本(“中间”)
var body: some View {
ScrollView {
LazyVStack(alignment: .leading) {
ForEach(entities) { entity in
DisclosureGroup {
Text(entity.body)
} label: {
Text(entity.header)
}
}
}
.padding(.horizontal)
}
}https://stackoverflow.com/questions/74120571
复制相似问题