在页面swiftUI顶部移动VStack
我想创建一个顶栏,我的代码如下所示:在页面swiftUI顶部移动VStack,swift,swiftui,vstack,Swift,Swiftui,Vstack,我想创建一个顶栏,我的代码如下所示: struct MyView: View { var body: some View { VStack(alignment: .leading) { Bar() Spacer() } } } struct Bar: View { var body: some View { VStack(alignment: .leading, spacin
struct MyView: View {
var body: some View {
VStack(alignment: .leading) {
Bar()
Spacer()
}
}
}
struct Bar: View {
var body: some View {
VStack(alignment: .leading, spacing: 0) {
HStack {
Spacer()
Text("Community").comfortaa(weight: .bold, size: 20).foregroundColor(.therameBlack)
Spacer()
Button(action: {
}) {
Image(systemName: "gearshape.fill").font(.headline).foregroundColor(.therameBlack)
}
}
}.padding(.leading,5).padding(.trailing,5)
.padding(.top,(UIApplication.shared.windows.last?.safeAreaInsets.top)! + 10)
}
}
但是,屏幕顶部仍有间距:
我也试着这么做,正如这篇文章中所建议的
但这没用。。。
此外,如果我从.safeArea插图中删除+10,则顶部仍有空间。可能是填充的问题。只需移除复杂的填充物,然后添加简单的填充物
struct TestView: View {
var body: some View {
VStack(alignment: .leading) {
Bar()
Spacer()
}
}
}
struct Bar: View {
var body: some View {
VStack(alignment: .leading, spacing: 0) {
HStack {
Spacer()
Text("Community")
Spacer()
Button(action: {
}) {
Image(systemName: "gearshape.fill").font(.headline)
}
}.padding()
}
}
}
可能是填充问题。只需移除复杂的填充物,然后添加简单的填充物
struct TestView: View {
var body: some View {
VStack(alignment: .leading) {
Bar()
Spacer()
}
}
}
struct Bar: View {
var body: some View {
VStack(alignment: .leading, spacing: 0) {
HStack {
Spacer()
Text("Community")
Spacer()
Button(action: {
}) {
Image(systemName: "gearshape.fill").font(.headline)
}
}.padding()
}
}
}
我想如果你移除
.padding(.top,(UIApplication.shared.windows.last?.safeAreaInsets.top)!+10)
它将在屏幕顶部对齐我想如果你移除.padding(.top,(UIApplication.shared.windows.last?.safeAreaInsets.top)!+10)
它将在屏幕顶部对齐是否为MyView
您的根视图?或者有父视图吗?@pawello2222问题是根视图,你说得对!!非常感谢:)是您的根视图吗?或者有父视图吗?@pawello2222问题是根视图,你说得对!!非常感谢:)你说得对,它在顶部添加了一些不必要的填充物。谢谢你说得对,它在顶部添加了一些不必要的填充物。谢谢你说得对,它在顶部添加了一些不必要的填充物。谢谢你说得对,它在顶部添加了一些不必要的填充物。谢谢