【发布时间】:2020-05-01 08:19:09
【问题描述】:
我有一个非常简单的表单,我在列表中列出了 CommentViewControl。
struct CommentViewControl: View {
var body: some View {
HStack {
AnsweredBar(question.IsAnswered)
.frame(width: 5)
.offset(x: -10)
Text("Any Text")
.font(.caption)
.fontWeight(.light)
.frame(width: CGFloat(50 * UIScreen.main.bounds.width/100),
alignment: .leading)
.background(Color.orange)
.offset(x: -16)
Spacer()
Toggle(isOn: $toggleControl) {
Text("")
}
}
}
}
问题是每行的切换控件的位置是随机变化的。
什么会导致这种随机位置问题。我有多个选项卡,当我更改选项卡并返回上一个选项卡时;其他一些切换改变了它的位置。这是非常不一致的。见下图。
【问题讨论】:
-
您的代码似乎不完整,toggleControl 是什么?它没有在任何地方定义。您能否也包括使用 CommentViewControl 的视图?
-
将
.labelsHidden()添加到Toggle会发生什么?即Toggle("", isOn: $toggleControl).labelsHidden() -
我试着把代码的概要。我想我错误地删除了 toggleControl State 变量。
-
labelsHidden() 没有帮助,但在添加 .id(UUID().uuidString) 后界面非常好。
标签: ios swift swiftui xcode11 swift5