As a root view of my app, I have a ZStack
, and I would like to add two floating bars, one to the bottom, and one to the top of the viewport.
With a single bar it's easy (ZStack(alignment: .top)
), but is there a way to add multiple descendants, and have one aligned to the top, and a second one to the bottom?
I tried removing alignment
from ZStack, and adding .frame(alignment: .top)
/ .frame(alignment: .bottom)
to the children, but this didn't do anything.
Yes, it could be hacked around by wrapping a top-aligned ZStack with another, bottom-aligned one, but it seems rather inelegant.
Here is possible approach
ZStack {
// content here
}
.overlay(YourTopView(), alignment: .top)
.overlay(YourBottomView(), alignment: .bottom)
Other possible variant is to use one .overlay
with VStack
having two views and Spacer
in between.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With