2016-07-20 5 views
0

Я работаю над приложением, Ipad и мне нужна помощь для компоновки одного экрана:IOS колонки макет грести

На экране должны отображаться 3 колонки в ландшафтном и в портретном только 2 колонок и 1 ниже.

Между автоматической компоновкой и UICollectionView, что является лучшим подходом и как?

Заранее спасибо ^^


Edit 07/25/2016

мне нравится предложение много Мэтта и я приступил к реализации этого решения (2) UIStackViews но теперь я» m застрял с условными ограничениями:

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

Мне удалось обновить корневую ось UIStackView в зависимости от ориентации (вертикальной для портретной или горизонтальной для пейзажа), прослушивая уведомления об изменении ориентации UIDevice.

Я установил этот корневой дистрибутив UIStackView с параметром «Заполнить пропорционально», но представление не отображается очень хорошо. В портретном дно «строка» высота вида не слишком большой и в альбомной только две колонны у ребенка UIStackView можно увидеть (последний взгляд из правого края экрана

ответ

0

между авто-макета и UICollectionView, что является лучшим подходом и как?

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

+0

благодарит вас за разъяснение – Mushu8

1

экран должен отображать 3 колонки в ландшафтном и в портретном только 2 столбцов и 1 строку ниже

Везде, где столбцы и строки участвуют, вы должны рассмотреть возможность использования UIStackView. Вы можете легко создать весь интерфейс в Interface Builder, поместив ваши представления в UIStackView, возможно даже разместив содержащиеся UIStackView в UIStackView (например, чтобы поместить три столбца в одну строку). Вы можете использовать условные ограничения/представления, чтобы интерфейс отличался от портрета и пейзажа. Таким образом, все описанное вами поведение, вероятно, вообще не требует кода.

+0

большое спасибо, ваше предложение исправило мою проблему ^^ – Mushu8

Смежные вопросы