Как мне выбрать режим совместимости Xcode для автоматического c макета на разных устройствах? - PullRequest
0 голосов
/ 21 июня 2020

Добрый день,

Что касается недавнего электронного письма от Apple, в котором указано следующее:

Приложения для iPhone или iPad должны быть созданы с помощью iOS 13 SDK или более поздней версии. и использовать раскадровку Xcode для обеспечения экрана запуска приложения.

Мои приложения в магазине приложений нацелены на iOS9, и я ничего не делал с ними уже добрых четыре года или около того. Они только что неплохо тикают. При попытке обновить мои приложения, чтобы они соответствовали запросу Apple, у меня возникают некоторые проблемы с макетом.

Приложения были написаны для iPad 768 x 1024 точек и iPhone 320 x 568 точек. С тех пор, как я написал приложения, Apple представила устройства с большими экранами и т. Д. c. например iPad 12.9 Pro с 1024 x 1366 точками или iPhone 11 Pro Max с 414 x 896 точками.

Если я запускаю свои приложения без изменения кода с использованием последней версии Xcode и цели iOS 12.1 и выше приложения работают нормально. То есть они автоматически изменяют размер с 768 x 1024 или 320 x 568 до большего количества точек на новых устройствах. Честно говоря, это своего рода magi c, и он просто работает без дополнительного кода, ограничений, классов размеров, автоматических макетов и т. Д. c. обязательный. Xcode, очевидно, выполняет какое-то волшебное изменение размера представления без моего вмешательства. Это «Режим совместимости»? Кроме того, при изменении размера учитываются безопасные области этих новых устройств, как показано ниже:

Using Launch images and Asset.xcassets

Now, when i remove the 'Launchimage' containing my launch screens from the 'Asset.xcassets' and add a 'Launchscreen.Storyboard', as requested by Apple, I appear to lose the resizing magic as stated above. Instead my app appears on the new larger point devices but at the original points of 768 x 1024 or 320, 568. Example below:

Использование экрана запуска раскадровки

Мое приложение вращается, и я обрабатываю вращение в коде на основе исходных точек 768 x 1024 и 320 x 768. Однако даже при использовании этих точек, Xcode или при запуске приложения он просто новичок в авто измените размер этих точек на более крупную систему точек новых больших устройств.

Мой вопрос: теперь я переключился с изображений запуска на экран запуска. Раскадровка, как я могу включить автоматическое изменение размера, как в старом способе изображений запуска делать вещи дал мне? Или мой бесплатный запуск закончился?

Я знаю, что мы живем в мире автоматических макетов, ограничений и размеров классов, но мне кажется, что мне не нужно было ничего делать с моим кодом для использования с более крупными точечными устройствами, при использовании изображений запуска, но при переключении на Launchscreen.storyboard, может быть, я это сделаю?

Я не пытаюсь лениться здесь и сделаю то, что мне нужно. Я просто пытаюсь понять механизм, который был на месте с помощью Launch изображений, авто автоматически изменять размер моего приложения и, если это доступно теперь я переключился на Launchscreen.storyboard.

После нескольких недель кропотливой Googling, играя с каждым Вариант Interface Builder и неспособность найти решение, если кто-нибудь может просветить меня, он был бы очень признателен.

С уважением

funkychimp

1 Ответ

3 голосов
/ 21 июня 2020

Изображения запуска в основном сообщали ОС, какие разрешения вы поддерживаете. На больших дисплеях ваши представления будут автоматически масштабироваться.

Теперь, когда изображения запуска исчезли, больше нет указаний для ОС, какие результаты поддерживает приложение, поэтому все должно быть выполнено с помощью Dynami c. По вашим словам, ваш бесплатный запуск действительно закончился.

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

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