使用SwiftUI,我尝试将View
放在屏幕中心,然后给予它一个高度可变的页眉和/或页脚。
使用约束时,它看起来如下所示:
let view = ...
let header = ...
let footer = ...
view.centerInParent()
header.pinBottomToTop(of: view)
footer.pinTopToBottom(of: view)
这样,无论页眉和页脚的大小如何,view
都将始终位于屏幕的中心。
我不知道如何用SwiftUI实现这一点。使用任何类型的HStack
或VStack
都意味着header
和footer
的大小围绕view
。我希望避免硬编码任何高度,因为中心view
的大小也可能不同。
有什么想法吗?新的SwiftUI,所以建议是赞赏!
3条答案
按热度按时间slhcrj9b1#
如果我正确地理解了你的目标(因为,正如@nayem评论的那样,第一次似乎我错过了),下面的方法应该是有帮助的。
代码快照:
i2loujxw2#
代码如下:
使用
GeometryReader
,你可以为你的视图应用动态大小。这里也是上述代码的屏幕截图9o685dep3#
在页眉视图和页脚视图之间放置
Spacer()
。