繁体   English   中英

SwiftUI:布局更改为从右到左后,垫片不会将内容推到一边

[英]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的那个)。 唯一的区别是TextFieldText的顺序:当TextFieldText之前时, Spacer()表现为一个空格。

在此处输入图像描述

我在这个线程上找到了一个解决方案:

似乎无法在 text() 和 textfield() 之间使用 Spacer()

我刚刚将.fixedSize()修饰符添加到TextField ,这会阻止TextField获得优先权。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM