SwiftUI Alignment Bottom - PullRequest
       22

SwiftUI Alignment Bottom

0 голосов
/ 04 апреля 2020

У меня есть следующий код:

struct CircleView: View {
    var body: some View {
        ZStack(alignment: .bottom) {
            VStack{
                Spacer()
                Circle().frame(width: UIScreen.main.bounds.width/5)
            }
        }
    }
}

enter image description here

Почему это не выравнивает круг на дне? У меня есть проставка, которая должна занимать все свободное пространство в ZStack?

Заранее спасибо.

1 Ответ

1 голос
/ 04 апреля 2020

Поскольку Circle является Shape и не имеет собственного размера контента, поэтому использует все предоставленное. Вы ограничили ширину, но не высоту, поэтому круг использовал всю высоту (синий прямоугольник - весь круг, но тонет только там, где нужно).

Так что, если вы хотите выровнять его, вы должны полностью ограничить его, как ниже

enter image description here

ZStack(alignment: .bottom) {
    VStack{
        Spacer()
        Circle()
            .frame(width: UIScreen.main.bounds.width/5, height: UIScreen.main.bounds.width/5)
    }
}
...