【发布时间】:2022-01-23 12:49:30
【问题描述】:
我通过添加.environment(...) 将应用程序的布局从左到右更改为从右到左,如下所示:
struct RegisterView_Previews: PreviewProvider {
static var previews: some View {
Group {
RegisterView(showReg: .constant(true))
.preferredColorScheme(.light)
.environment(\.layoutDirection, .rightToLeft)
}
}
}
但是,Spacer() 并没有按预期工作:它没有像以前那样将 HStack 的内容推送到相反的两侧。在下面的屏幕截图中,您可以看到form 中的所有条目都被推到了相反的两侧,除了前一个。如果您查看代码,该条目对应于第二个HStack(其中包含text: $stock 的那个)。唯一的区别是TextField 和Text 的顺序:当TextField 在Text 之前时,Spacer() 表现为一个空格。
【问题讨论】:
-
按设计工作。 TextField 占用所有可用空间。如果您想将其限制为某个宽度,请明确给出。