Как прикрепить вид к краям экрана? - PullRequest
0 голосов
/ 09 июня 2019

Как прикрепить вид (в данном случае, метку / текст) к краю экрана с помощью SwiftUI? С раскадровками я бы просто использовал AutoLayout, но это не доступно с SwiftUI.

enter image description here

Ответы [ 3 ]

2 голосов
/ 09 июня 2019

Вы можете сделать что-то вроде этого

    VStack {
        HStack {
            Text("Label")
            Spacer()
        }
        Spacer()
    }

Spacer в VStack убедится, что HStack находится наверху, Spacer в HStack убедится, что Text - все они влево. Вы также можете решить это с помощью выравнивания.

0 голосов
/ 09 июня 2019

Вы можете обернуть ваш основной контент в специальный контейнер под названием GeometryReader. Его размер по умолчанию такой же, как и у его родителя, поэтому, если он является корневым представлением, он прикрепит содержимое к краям экрана, как AutoLayout.

GeometryReader { in geometry
    YourContentView().frame(width: geometry.size.width, height: geometry.size.height)
}
0 голосов
/ 09 июня 2019

Используйте этот модификатор на вашем взгляде

  .frame(minWidth: 0, maxWidth: .infinity,
         minHeight: 0, maxHeight: .infinity)

SwiftUI использует минимально необходимое пространство для любого представления, чтобы увеличить его, вы можете использовать различные подходы в зависимости от ситуации. Также можно использовать модификаторlativeSize (), но я пока не понял, когда он работает

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