будет ли frame () в Image на SwiftUI иметь разный размер для каждого устройства? - PullRequest
0 голосов
/ 01 июля 2019

У меня есть код для просмотра с изображением в swiftUI, мне интересно, будет ли функция frame () создавать разные размеры для каждого устройства (например, iPhone 8, Xs, Xs + и т. Д.)

struct CircleImage : View {
    var body: some View {
        Image("jorge")
            .resizable()
            .frame(width: 100, height: 100)
            .clipShape(Circle())
            .overlay(
                Circle().stroke(Color.white, lineWidth: 4))
            .shadow(radius: 10)

    }
}

IКонечно, у меня есть Xcode 11 с бета-версией, но у меня нет каталины, так как мне приходится работать с Мохаве, а Каталина не поддерживает ее.Так что я не могу найти никаких подсказок в SwiftUI Preview.

Я также пытался увидеть приведенный выше код с несколькими симуляторами (с 8 и X +) и увидел, что изображения, кажется, имеют одинаковый размер, но я не уверен вэто.

А если размеры одинаковые, то какой стандартный размер экрана?и если нет, то как мне найти стандарты для каждого экрана?

1 Ответ

1 голос
/ 02 июля 2019

Я не уверен, что понимаю ваш вопрос, но я сделаю все возможное, чтобы ответить.Когда вы указываете фрейм (ширина: 100, высота: 100), SwiftUI сделает его 100x100 точек.Неважно, какое устройство.Если вы хотите адаптироваться к доступному пространству устройства, посмотрите пример, который я разместил в этом другом вопросе: https://stackoverflow.com/a/56853211/7786555

Кроме того, вот документация, чтобы получить размер экрана для вашего текущего устройства:

Ограничительный прямоугольник экрана, измеряется в точках: https://developer.apple.com/documentation/uikit/uiscreen/1617838-bounds

Ограничивающий прямоугольник физического экрана, измеряется в пикселях. https://developer.apple.com/documentation/uikit/uiscreen/1617810-nativebounds

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