Круг не по центру - ожидал чего-то другого - PullRequest
1 голос
/ 10 января 2020

У меня есть этот код. Круг не центрирован. Я предполагаю, что из-за edgeIgnoring ... и да, если я закомментирую это, это центрировано. Но если я закомментирую «scaledToFill», то оно тоже будет отцентрировано, хотя edgeIgnoring находится в ... Это ошибка или я что-то неправильно понимаю? Я тестировал на iPhoneX Preview ...

struct ContentView: View {
    var body: some View {
            Circle()
                .scaledToFill()
                .edgesIgnoringSafeArea(.all)
    }
}

Ответы [ 2 ]

2 голосов
/ 10 января 2020

Я пытаюсь предложить решение (можно сказать, что это обходной путь - не имеет значения), в некоторых случаях оно может быть приемлемым, поскольку оба центрированы правильно, поэтому стоит опубликовать:

Примечание: заказ модификаторов важно!

1) подход 1

SwiftUI ellipse

 Ellipse()
        .edgesIgnoringSafeArea(.all)
        .scaledToFill()

2) подход 2

SwiftUI circle

Circle()
    .edgesIgnoringSafeArea(.all)
    .scaledToFill()
1 голос
/ 10 января 2020

Краткий ответ, да, это ошибка. Размер круга вычисляется , включая безопасную область , но горизонтальное смещение круга рассчитывается по центру, исходя из того, что он будет иметь размер без учета безопасной области . Оба круга имеют левый край приблизительно в -204 пикселя на iPhone 11, что оставляет больший нецентрированный.

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