Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SwiftUI框架的内部填充?_Swiftui - Fatal编程技术网

在SwiftUI框架的内部填充?

在SwiftUI框架的内部填充?,swiftui,Swiftui,是否可以使用SwiftUI在该屏幕截图中填充左右文本?如果这是HTML,我会在CSS中使用左填充和右填充。唉,SwiftUI需要一种不同的思维方式 现在我已经有了这两个很好的框架,我希望它们按照我的方式工作,那么在框架内移动文本的技术是什么呢。如何将“左”稍微向右移动,使其远离左边缘,并为其提供一些良好的视觉空间?同样的技巧也可以反作用于“正确”的文本 在SwiftUI中,修饰符的顺序很重要。见: 在下面的代码中,首先将.background(Color.yellow)应用于整个Geo

是否可以使用SwiftUI在该屏幕截图中填充左右文本?如果这是HTML,我会在CSS中使用
左填充
右填充
。唉,SwiftUI需要一种不同的思维方式

现在我已经有了这两个很好的框架,我希望它们按照我的方式工作,那么在框架内移动文本的技术是什么呢。如何将“左”稍微向右移动,使其远离左边缘,并为其提供一些良好的视觉空间?同样的技巧也可以反作用于“正确”的文本


在SwiftUI中,修饰符的顺序很重要。见:


在下面的代码中,首先将
.background(Color.yellow)
应用于整个
GeometryReader
。这意味着填充在
文本(“左”)
之外

您还需要在
文本
视图之后添加
填充

GeometryReader { geometry in
  HStack(spacing: 0) {
    Text("Left")
      .padding(.leading) // add here
      .frame(width: geometry.size.width * 0.33, height: 50, alignment: .leading)
      .background(Color.yellow)
    Text("Right")
      .padding(.trailing) // add here
      .frame(width: geometry.size.width * 0.67, height: 50, alignment: .trailing)
      .background(Color.orange)
  }
}
.padding()
请注意,您可以指定填充方向(例如
.padding(.training)
)以及偏移量:


还请注意,您需要在
帧之前添加填充-否则视图的总宽度将为:

0.33 * GeometryReader width + 0.67 * GeometryReader width + width of `.padding(.leading)` + width of `.padding(.trailing)`
它将大于
GeometryReader

返回的宽度,类似于
文本(“左”)。填充(.leading,20)
(未测试)。
GeometryReader { geometry in
  HStack(spacing: 0) {
    Text("Left")
      .padding(.leading) // add here
      .frame(width: geometry.size.width * 0.33, height: 50, alignment: .leading)
      .background(Color.yellow)
    Text("Right")
      .padding(.trailing) // add here
      .frame(width: geometry.size.width * 0.67, height: 50, alignment: .trailing)
      .background(Color.orange)
  }
}
.padding()
.padding(.trailing, 10)
0.33 * GeometryReader width + 0.67 * GeometryReader width + width of `.padding(.leading)` + width of `.padding(.trailing)`