Проблемы с автоматическим изменением размера раскадровки iPhone 5 в соответствии с размером iPhone 6

Я разработал приложение, используя раскадровку iPhone 5. Раскадровка содержит множество представлений, и я не использовал никаких ограничений ни для одного из представлений.

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

Я уже прочитал много ответов на SO, которые заставили меня поверить, что его можно заставить работать, но пока не удалось.

У меня нет изображений для запуска, и я поставил галочку в поле «Использовать классы размера» для раскадровки.

Почему раскадровка не имеет автоматического размера для iPhone 6. Это сводит меня с ума.

Я надеюсь, что вы можете помочь мне,

Благодарю.


person Shayno    schedule 04.07.2015    source источник
comment
Что вы на самом деле видите, когда работаете на 6 или 6 плюс?   -  person jrturton    schedule 04.07.2015
comment
@jrturton Я вижу вид в верхнем левом углу симулятора, виды не растягиваются, чтобы заполнить экран устройства?   -  person Shayno    schedule 04.07.2015
comment
вы можете сделать это простым способом, просто добавьте заставку для 4s и 5, не добавляйте заставку для iphone 6 и 6+, это сделает ваш пользовательский интерфейс масштабируемым   -  person Tejas Ardeshna    schedule 04.07.2015


Ответы (4)


Вы пробовали использовать функцию автоматического изменения размера? Снимите флажок «классы размеров», и вы увидите возможность использовать автоматическое изменение размера в разделе «Измерения», чтобы изменить размер раскадровки для 6 и 6plus. http://i.stack.imgur.com/qM4Vu.png

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

person Slkxx    schedule 04.07.2015
comment
Привет, я снял флажок, и когда я перехожу к измерениям для раскадровки, вариантов нет. Если я перешел к измерениям для UIView, я вижу параметр автоматического изменения размера, но он уже выбран для каждого вида. - person Shayno; 04.07.2015
comment
Привет еще раз, вы должны установить параметры автоматического изменения размера для каждого отдельного объекта в вашем представлении, это все же намного проще, чем ограничения по размеру, которые я мог бы добавить - person Slkxx; 04.07.2015

Установите флажок «Использовать автоматический макет», показанный ниже.

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

Также вот ссылка на размер изображений запуска, которые вы должны использовать для 6 и 6 плюс.

person dstudeba    schedule 04.07.2015
comment
Привет, я пробовал с флажками «Использовать автоматический макет» и «Использовать классы размеров», и у меня все еще есть та же проблема. Я не добавлял в проект изображения запуска, поэтому он не должен работать без изображений запуска? - person Shayno; 04.07.2015

Один из способов, но не рекомендуется. Don't add splash screen for 6 and 6+

Если вы не добавите заставку для ОС 6 и 6+, она автоматически масштабирует весь ваш пользовательский интерфейс.

person Sunny Shah    schedule 04.07.2015
comment
Я вообще не добавлял заставку, и у меня все та же проблема - person Shayno; 04.07.2015

Маски автоматического изменения размера по умолчанию, которые у вас, вероятно, есть, имеют фиксированные верхнее и левое поля, а также фиксированную высоту и ширину. Это даст вам все виды, упакованные в верхний левый угол, как вы видите, - гибкость находится в правом и нижнем полях.

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

Чтобы убедиться, что ваше приложение поддерживает несколько размеров экрана (вместо того, чтобы просто масштабировать меньший интерфейс), вы должны добавить файл запуска изображения .xib, который намного проще, чем использование большого количества изображений.

person jrturton    schedule 04.07.2015