gpt4 book ai didi

ios - SwiftUI 列表中某些行的布局问题

转载 作者:行者123 更新时间:2023-12-01 22:50:49 24 4
gpt4 key购买 nike

我试图找到以前问过的类似问题,但失败了。

我有一个带有列表的简单 View 。我使用 ForEach 显示某个列表项的 10 次迭代,以创建布局,然后再将实际数据添加到此列表。我遇到最后两行无法正确渲染的问题。但有时是另一行。我也在 iPhone 上进行了测试,有时是一行,有时是另一行。带列表的 View 的代码是这样的:

import SwiftUI

struct LocksView: View {

@State private var locksPaid = 0

var body: some View {
NavigationView {
List {
DateView()
.listRowInsets(EdgeInsets())

Picker(selection: $locksPaid, label: Text("Picker")) {
Text("All").tag(0)
Text("Not paid (2)").tag(1)
}
.pickerStyle(SegmentedPickerStyle())
.padding(10)

ForEach(0 ..< 10) {item in
LocksItemView()
}

}
.navigationBarTitle(Text("Locks"))
.navigationBarItems(trailing: EditButton())
}
}
}

列表项的代码是这样的:

import SwiftUI

struct LocksItemView: View {

@State private var paid : Bool = false

var body: some View {
HStack {

Text("L15")
.font(.title)
.fontWeight(.heavy)
.multilineTextAlignment(.center)
.frame(width: 80)

VStack(alignment: .leading) {
Text("nickname")
.fontWeight(.bold)
Text("category")
Text("4 000 THB")
.fontWeight(.bold)
}

Spacer()

Toggle(isOn: self.$paid) {
Text("Paid")
}
.labelsHidden()
}
}
}

为什么我的列表中的某些行切换被破坏?为什么它移到左侧?

enter image description here

最佳答案

这不是最后一项。如果您将 ForEach 设置为 20 而不是 10 并上下滚动,您会看到更有趣的问题。

我认为原因,实际上是 List bug,与 this topic 中的相同。 .

解决方法 如果这对您来说并不重要,则使用 ScrollView 而不是 List,经测试,没有错误。否则,提交雷达并等待修复。

关于ios - SwiftUI 列表中某些行的布局问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58965282/

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