SwiftUI 向视图添加 -y 偏移量,但将视图拉伸到底部
Posted
技术标签:
【中文标题】SwiftUI 向视图添加 -y 偏移量,但将视图拉伸到底部【英文标题】:SwiftUI add a -y offset to a view but stretching the view to bottom 【发布时间】:2019-09-15 20:06:12 【问题描述】:我的代码中有 2 个视图,一个 VStack,然后是一个自定义视图。
我正在为 -75 的第二个视图添加偏移量,以将其移动到第一个视图的顶部。
这是我当前的代码:
Group
VStack
//First View
VStack
Image("LogoCrest")
NavigationLink(destination: LocationSearch())
Text("Find a location")
.foregroundColor(Color.white)
.bold()
.padding()
.frame(minWidth: 0, maxWidth: .infinity, alignment: Alignment.center)
.background(Color(red: 81 / 255, green: 175 / 255, blue: 67 / 255))
.cornerRadius(7)
.padding()
.padding(.top, 75)
.padding(.bottom, 75)
.frame(minWidth: 0, maxWidth: .infinity, alignment: Alignment.center)
.background(Color(red: 49 / 255, green: 49 / 255, blue: 49 / 255))
//Second view
CircuitList(Circuits: Circuits)
.offset(y: -75)
.padding()
.background(Color(red: 232 / 255, green: 232 / 255, blue: 232 / 255))
.edgesIgnoringSafeArea(.top)
如何增加第二个视图的高度,使其始终位于底部(请参阅下图中的黑线以获得所需的额外高度)?
【问题讨论】:
【参考方案1】:我找到了答案。
由于我在视图中添加了y:-75
偏移量,因此我也必须添加y:-75
填充。
CircuitList(Circuits: Circuits)
.offset(y: -75)
.padding()
.padding(.bottom, -75)
【讨论】:
是的,当我们使用 offset() 修饰符时,我们改变了视图应该被渲染的位置,而实际上并没有改变它的底层几何图形。这就是为什么我们必须添加减号填充。 我正在寻找的完美答案以上是关于SwiftUI 向视图添加 -y 偏移量,但将视图拉伸到底部的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI:我可以向 TabView 添加更多视图,然后是选项卡项吗?
SwiftUI - 有没有办法在不覆盖子视图的任何手势的情况下向视图添加手势?