Как заставить мое приложение соответствовать всем размерам iPhone только в портретном режиме - PullRequest
0 голосов
/ 20 ноября 2018

Я искал и все еще испытываю проблемы с тем, чтобы мое приложение соответствовало всем размерам iPhone только в портретном режиме с iPhone 4 до iPhone самого большого размера в настоящее время.

Каков наилучший способ, чтобы я мог получитьмое приложение для iPhone всех размеров в портретном режиме?

Я создал приложение размером с iPhone Xs.Что я могу сделать, чтобы мое приложение подходило для всех размеров iPhone от iPhone 4 и выше?

Ответы [ 3 ]

0 голосов
/ 20 ноября 2018

Единственный способ сделать это - сделать все пропорциональным с точки зрения ширины и высоты, поэтому вы должны забыть о настройке статических значений, другой способ - сделать прокрутку содержимого способной и установить любую ширину / высоту, которая вам нужна, также я советую сделать макет, скажем, с iphone 5/4, чтобы вы были ближе к обрезным устройствам, чтобы вы лучше построили дизайн и наверняка он масштабировался должным образом на больших устройствах, некоторые ключевые элементы для поиска

AutoLayout

Адаптивный AutoLayout

Руководства по планировке безопасной зоны

Также не стесняйтесь, если перед вами стоит сложное вычисление, перетащите ограничение как выход и настройте его в коде

0 голосов
/ 20 ноября 2018

Как правило, лучший способ масштабирования пользовательского интерфейса для нескольких устройств - это использование Auto Layout . Вместо того чтобы определять интерфейс с фиксированными размерами кадров, вы используете ограничения, которые вычисляют кадры во время выполнения на основе устройства.

Ограничения могут быть добавлены в Интерфейсном Разработчике путем перетаскивания Ctrl из одного компонента представления в другой, а затем тонкой настройки с помощью инспектора Атрибутов.

В противном случае, если вы предпочитаете, вы можете создавать и применять свои ограничения в коде:

override func viewDidLoad() {
    super.viewDidLoad()

    let myView = UIView()
    myView.backgroundColor = .red
    myView.translatesAutoresizingMaskIntoConstraints = false

    view.addSubview(myView)

    NSLayoutConstraint.activate([
        myView.widthAnchor.constraint(equalToConstant: 50),
        myView.heightAnchor.constraint(equalToConstant: 50),
        myView.centerXAnchor.constraint(equalTo: view.centerXAnchor),
        myView.centerYAnchor.constraint(equalTo: view.centerYAnchor)
    ])
}

Приведенный выше пример добавит красное поле в центр экрана независимо от размера экрана устройства.

Auto Layout Example

0 голосов
/ 20 ноября 2018

Вы должны прочитать в iOS Auto Layout .У него есть все функции, кроме крутой кривой обучения.Как только вы получаете принципы, все начинает работать автоматически (кроме нескольких ошибок).

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

Поскольку iPhone X иболее новые имеют другие коэффициенты отображения, вы можете захотеть сделать что-то особенное в коде, если ваш пользовательский интерфейс не для всех списков или базовых вещей.

...