Проблема с изменением размера представления коллекции iPhone 4 и iPhone 5

У меня есть контроллер коллекции внутри представления.

Контроллер коллекции не закрывает 40 пикселей в верхней части экрана, чтобы я мог разместить там кнопки.

На iphone 4 это выглядит так (правильно): Синий — вид коллекции, Красный — ячейка введите описание изображения  здесь

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

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

Конструктор интерфейса для этого выглядит так:

Представление коллекции: введите здесь описание изображения

Ячейка представления коллекции введите здесь описание изображения

Любая помощь будет принята с благодарностью, спасибо


person William Falcon    schedule 23.03.2013    source источник
comment
Я отключил Autoresize Subviews, и он работает   -  person onmyway133    schedule 14.07.2013


Ответы (1)


Ваш просмотр коллекции имеет фиксированный размер. У вас включен AutoLayout? Если да, просто перейдите к представлению iPhone 5 и отрегулируйте размер так, чтобы он соответствовал ограничениям iPhone 5. После этого он должен автоматически изменить размер на iPhone 5 и iPhone ‹5.

Ограничения: InterfaceBuilder будет вести себя как "магнитное" поведение, если вы достигнете этих ограничений.

person mr.VVoo    schedule 23.03.2013
comment
Что вы имеете в виду под видом iPhone 5? В IB у меня есть 3,5-дюймовый вид, с которым я работаю, вы имеете в виду изменить его на 4 дюйма? Я обнаружил, что это не делает его обратно совместимым с 3,5-дюймовым экраном, если только я что-то не упустил. У меня нет двух отдельных представлений, только одно, которое изменяет размер - person William Falcon; 23.03.2013
comment
И да, я проверил использование Autolayout - person William Falcon; 23.03.2013
comment
Да, я имею в виду 4-дюймовый экран. Возможно, у вас не включен AutoLayout (функция iOS 6), в этом случае я думаю, что вам нужно сделать это в коде. Но обычно вы можете привязать их к границам, и они останутся на своем месте независимо от размера экрана. - person mr.VVoo; 23.03.2013
comment
Я только что попытался изменить размер на четыре, изменив размер всего, чтобы сделать его больше, и когда я запустил симулятор iPhone 4, я получил пустой экран и сообщение о том, что ||||поведение UICollectionViewFlowLayout не определено, потому что: 2013-03-23 10:09:06.977 [21916:c07] высота элемента должна быть меньше, чем высота UICollectionView за вычетом того, что раздел вставляет верхнее и нижнее значения. - person William Falcon; 23.03.2013
comment
Похоже, вы изменили размер содержимого CollectionViews, а не самого CollectionView. - person mr.VVoo; 23.03.2013
comment
Хорошо, да, я изменил размер содержимого, однако, если я этого не сделаю, ячейка просто останется посередине... - person William Falcon; 23.03.2013
comment
Затем вы можете перетащить компонент в 4-дюймовом представлении, и он должен привязаться к верхней или нижней границе. Затем измените размер так, чтобы он соответствовал всем границам. - person mr.VVoo; 23.03.2013
comment
какой компонент? представление ячейки или коллекции? - person William Falcon; 23.03.2013
comment
давайте продолжим это обсуждение в чате - person William Falcon; 23.03.2013
comment
@WilliamFalcon ты нашел решение, у меня похожая проблема? - person Ash; 12.12.2013
comment
Используйте autolayout, чтобы исправить это. Добавьте расстояние сверху, добавьте расстояние снизу и не фиксируйте высоту представления коллекции - person William Falcon; 12.12.2013