【发布时间】:2020-02-14 18:38:31
【问题描述】:
似乎当放置在 NavigationView 中时,VStacks 不会填满整个垂直空间。还是我做错了什么?
var body: some View {
NavigationView {
VStack(alignment: .leading) {
Text("HEY")
}
.frame(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
.background(.gray)
}
.navigationBarTitle("Reçu", displayMode: .inline)
}
我还自定义了UINavigationBar 给它一些颜色并将navigationBarTitle 设置为内联。
我尝试了两种解决方法:
-
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity, alignment: Alignment.topLeading) .frame(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
第一个填充更多的垂直空间,但不是全部。
【问题讨论】:
-
嘿,@sohomang,在回答你的问题之前,让我问一下你想要实现什么?也许是彩色背景?或者,也许您希望您的观点从上到下?
-
@MarkMoeykens 两者,实际上!我希望此 NavigationView 具有固定的背景颜色。将
.background(myColor)堆叠到 NavigationView 并没有减少它。这就是我尝试将它放在 VStack 上的原因。 -
我也遇到了同样的问题,你有没有找到解决 NavigationView 中 VStack 顶部那个奇怪空间的方法?