[英]SwiftUI: Spacer not pushing content to the side after layout change to right-to-left
我通过添加.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()
表现为一个空格。
我在这个线程上找到了一个解决方案:
似乎无法在 text() 和 textfield() 之间使用 Spacer()
我刚刚将.fixedSize()
修饰符添加到TextField
,这会阻止TextField
获得优先权。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.