относительный размер не регулирует размеры HStack - PullRequest
0 голосов
/ 14 июня 2019

Когда .relativeSize вызывается для HStack {}, границы не сближаются.Указывает на то, что размеры не корректируются.

Я уже пытался переставить последовательность вызовов методов в HStack, так что .relativeSize вызывается до и после .frame и .border

struct ContentView : View {
    var body: some View{
        VStack(alignment: .center, spacing: 1){
            //Top box holding a rectangle
            HStack{
                Text("Test")
            }
            .frame(width: 355, height: 99, alignment: .center)
            .relativeSize(width: 0.95, height: 0.95)
            .border(Color.blue, width: 2)

            //Bottom box holding 3 recangles
            HStack{
                Text("Test")
            }
            .frame(width: 355, height: 47, alignment: .center)
            .border(Color.red, width: 1)
        }
        .frame(width: 355, height: 148, alignment: .center)
        .border(Color.black, width: 1)

    //body paren
    }

}

1 Ответ

0 голосов
/ 01 июля 2019

Просто добавьте Spacer () до и после текста и удалите модификатор .frame ().Таким образом, HStack расширится в боковом направлении на 0,95 размера вмещающего VStack.Это то, что вы хотите?

struct ContentView : View {
    var body: some View{
        VStack(alignment: .center, spacing: 1){
            //Top box holding a rectangle
            HStack{
                Spacer()
                Text("Test")
                Spacer()
                }
                .relativeSize(width: 0.95, height: 0.95)
                .border(Color.blue, width: 2)

            //Bottom box holding 3 recangles
            HStack{
                Text("Test")

                }
                .frame(width: 355, height: 47, alignment: .center)
                .border(Color.red, width: 1)
            }
            .frame(width: 355, height: 148, alignment: .center)
            .border(Color.black, width: 1)

        //body paren
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...