iPhone 6 - приложение не заполняет экран

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

введите здесь описание изображения

Что может заставить его не просто масштабироваться и заполнять экран?

РЕДАКТИРОВАТЬ: Вот несколько шагов воспроизведения:

Создайте новый проект (Single View). Отключите классы размеров и просто используйте iPhone.

Сделайте фон оранжевым.

Добавьте желтое подпредставление UIView по адресу (20,20,280,200).

В Xcode вы получаете это:

введите здесь описание изображения

Теперь смоделируйте на iPhone 6. Вы получите это:

введите здесь описание изображения

Почему он просто не масштабируется и не выглядит нормально?


person soleil    schedule 02.10.2014    source источник
comment
Возможно, вы добавили изображения запуска iPhone 6, но ваше приложение написано правильно, чтобы автоматически заполнять больший размер.   -  person rmaddy    schedule 02.10.2014
comment
Я не добавлял изображения запуска iPhone 6. На самом деле в моем каталоге активов LaunchImage нет опции @3x.   -  person soleil    schedule 02.10.2014
comment
Изображения @3x предназначены для iPhone 6+, а не для iPhone 6. Если вы не добавили изображения запуска iPhone 6 (или новый файл экрана запуска), ваше приложение должно думать, что оно на iPhone 4 или 5, и масштабироваться чтобы заполнить экран.   -  person rmaddy    schedule 02.10.2014
comment
Да, это вопрос. Почему бы не масштабировать на весь экран?   -  person soleil    schedule 02.10.2014
comment
Вы еще не предоставили никаких полезных сведений. Никто не может узнать, почему вы видите то, что видите. Вы уверены, что приложение не масштабируется? Масштабируется ли строка состояния, если вы нажимаете кнопку «Домой»?   -  person rmaddy    schedule 02.10.2014
comment
Смотрите мою правку. Имеет ли это смысл?   -  person soleil    schedule 02.10.2014


Ответы (4)


Не уверен, почему за это проголосовали. Это законный вопрос. И вот законный ответ:

Удалите «Файл экрана запуска» в «Проекты»> «Общие». В Xcode 5 этого не было, поэтому старые приложения масштабировались автоматически. Приложения, созданные с помощью Xcode 6, получают созданный файл экрана запуска по умолчанию.

Если его удалить, ваше приложение будет масштабироваться на iPhone 6.

person soleil    schedule 02.10.2014
comment
Смотрите мой 2-й комментарий к вашему вопросу. Я упомянул немного о наличии файла экрана запуска. Кстати, я не голосовал против. Но, вероятно, за него проголосовали, потому что было мало информации, которая могла бы помочь ответить на вопрос. - person rmaddy; 02.10.2014

У меня такая же проблема, и мне удалось решить ее, добавив ограничения в мой ViewController в раскадровке.

  1. Убедитесь, что вы щелкнули ViewController вашей сцены. Они желтая кнопка на этом скриншоте. введите здесь описание изображения
  2. Нажмите «Редактор» -> «Решить проблемы с автоматическим макетом» -> «Добавить отсутствующие ограничения». Теперь вы обнаружите, что фоновое изображение увеличено, чтобы заполнить iPhone 6 или iPhone 6 plus.

Обратите внимание, что это решение работает для меня, даже если я не предоставил файл экрана запуска.

person Wael Showair    schedule 21.05.2015

Я была такая же проблема. В поисках ответа большинство из них упоминают изображение запуска. Для меня трюк заключался в том, что я сначала включил изображение запуска для iOS8.0, а затем в Xcode, для которого требуются размеры исходного разрешения для 4,7 "и 5,5". Добавление этих размеров не помогло, но когда я их снова отключил, все заработало!

person james0n    schedule 21.05.2015

Если у вас есть образ запуска, вам потребуются образы запуска для всех подходящих размеров. Я делал незначительное обновление для приложения, и оно не отображалось правильно на симуляторе iPhone 6. Я создал четыре изображения запуска (файлы .png). Поскольку приложение по-прежнему должно работать на iOS 7, я, по-видимому, не мог использовать каталог ресурсов. Я дал изображениям правильные имена, и все хорошо.

Размеры и имена изображений можно найти здесь: Размеры и название изображения запуска для приложения iPhone в iOS8

person Bob Gordon    schedule 12.10.2015