SwiftUI 视图离顶部30
时间: 2023-07-25 16:13:52 浏览: 46
要让 SwiftUI 视图离顶部 30,可以使用 `padding` 和 `Spacer` 这些布局修饰符来实现。
具体来说,可以在要设置间距的视图上使用 `padding` 修饰符,例如:
```
Text("Hello, World!")
.padding(.top, 30)
```
上述代码会将文本视图离顶部 30 个点的距离。如果要让整个视图都离顶部 30,可以在容器视图上使用 `padding` 修饰符,例如:
```
VStack {
Spacer()
Text("Hello, World!")
.padding(.top, 30)
}
.padding(.top, 30)
```
上述代码会在垂直方向上添加一个 Spacer,将文本视图向下推 30 个点,然后在整个 VStack 上再添加一个向下的 padding,让整个视图离顶部 30 个点的距离。
注意,如果在某些情况下需要让视图离顶部的距离根据屏幕大小自适应,可以使用 `GeometryReader` 和 `safeAreaInsets` 来获取安全区域的大小,然后动态设置 `padding` 的值。例如:
```
GeometryReader { geometry in
VStack {
Spacer()
Text("Hello, World!")
.padding(.top, geometry.safeAreaInsets.top + 30)
}
.padding(.top, geometry.safeAreaInsets.top + 30)
}
```
上述代码会使用 `GeometryReader` 获取当前视图的大小和安全区域的大小,然后动态计算出顶部的 padding 值,使视图离顶部 30 个点的距离并且适应不同的屏幕。