我试图展现一种动态List
行包含Toggle
元素。这Toggle
最初布局正确,但是当它们滚动进和滚出视图时(即单元格重用时),它们的布局会中断。
最小示例代码:
import SwiftUI
struct SwitchList: View {
var body: some View {
List(0..<20) { _ in
SwitchRow(value: Bool.random())
}
}
}
struct SwitchRow: View {
@State var value: Bool
var body: some View {
Toggle(isOn: $value) {
Text("A switch row")
}
}
}
Screen recording demonstrating the issue:
(这是在模拟器上使用 iOS 13.2.2 (17B102)。)
我做错了什么,还是这是一个错误?我如何获得Toggle
s 能够正确显示吗?
这是 iOS 13.2+ 中的错误/回归
工作 - iOS 13.1 (17A844) / Xcode 11.1 (11A1027)
损坏 - iOS 13.2.2 (17B102) / Xcode 11.2.1 (11B500)
损坏 - iOS 13.3 beta (17C5032d) / Xcode 11.3 beta (11C24b)
向 Apple 提交反馈 https://feedbackassistant.apple.com
解决方法
此错误似乎仅影响List
初始化器需要一个data
范围。该代码在功能上是等效的,但不受该错误的影响。
struct SwitchList: View {
var body: some View {
List {
ForEach(0..<20) { _ in
SwitchRow(value: Bool.random())
}
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)