SwiftUI - пытается сохранить полноэкранный размер представления в ScrollView - PullRequest
0 голосов
/ 11 апреля 2020

Это исходный вид, который я хотел бы использовать в другом виде в виде прокрутки

Вид прокрутки сжимает вид в его TextSize

SourceView:

    VStack {
        Text("Hello World")
        HStack {
            Rectangle()
                .foregroundColor(Color.blue)
            Rectangle()
                .foregroundColor(Color.green)

        }
    }

Scrollview:

    ScrollView(.horizontal) {

        HStack {

            ForEach(0 ..< 5){ item in

                worldCardView()

            }

        }
    }

1 Ответ

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

Определите переменную, чтобы получить размер экрана устройства где-нибудь. Разместите это вне каких-либо структур, чтобы к нему можно было получить доступ во всем приложении.

// Get screen dimensions for global use
let screen = UIScreen.main.bounds

А затем примените модификатор рамки к вашим прямоугольникам.

Rectangle()
.frame(width: screen.width * 0.5)

Что я сделал здесь, так это установил ширину прямоугольника равной половине размера экрана устройства. В зависимости от эффекта, который вы пытаетесь достичь, вам может понадобиться добавить некоторые модификаторы .padding().

HStack() в ScrollView является избыточным и может быть удален.

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