2017-02-18 36 views
2

У меня есть требование, чтобы показать данные в линейном вертикальном списке на iPhone, но в iPad показать это как собираниеView/Grid.Как показать коллекцию в iPad, но перечислить в iPhone?

В iPhone она должна выглядеть

enter image description here

Но в Ipad он должен выглядеть

enter image description here

Я уже реализован в iPhone через табличном, но не знаю, как для его просмотра в виде сетки

  1. я должен создать отдельный контроллер вида для Ipad если да то как я могу определить два контроллера вида один для iPhone и других для IPad

  2. , что является лучшим способом для достижения этой цели?

, пожалуйста, помогите мне. Я пытаюсь реализовать его, но не могу найти никакого способа.

Изображений копируются из Vimeo ITunes приложения https://itunes.apple.com/us/app/vimeo/id425194759?mt=8

ответ

3

Вам не нужно создавать две разные диспетчерские для IPAD и IPHONE. Просто создайте один контроллер с UICollectionView, а затем используйте UICollectionViewFlowLayout для вашего UICollectionView, чтобы установить макет UICollectionView в зависимости от устройства. IPAD или IPHONE Попробуйте это решение, если у вас есть какие-либо сомнения по поводу PLS.

Попробуйте это решение

UICollectionViewFlowLayout *collectionViewFlowLayout = [[UICollectionViewFlowLayout alloc] init]; 
[collectionViewFlowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; 
self.myCollectionView.collectionViewLayout = collectionViewFlowLayout; 

Также вы можете использовать несколько свойств из UICollectionViewFlowLayout.

Проверьте это решение и сообщите мне, будет ли оно работать для вас.

Проверьте эти ссылки для справки:

  1. https://www.raywenderlich.com/136159/uicollectionview-tutorial-getting-started

  2. https://www.raywenderlich.com/107439/uicollectionview-custom-layout-tutorial-pinterest

+0

Как использовать UICollectionViewFlowLayout, чтобы установить листинг в виде сетки в Ipad и линейном вертикальном списке в iPhone? и можете ли вы предоставить мне ссылку на любой образец или учебник. –

1

Способ сделать это с Adaptive Layout и размерных классов в раскадровке. Вам вообще не нужно писать какой-либо код, а также для многозадачных/разделенных экранов и будущих устройств iOS неизвестных размеров. Вы можете сделать любое изображение видимым или исчезнуть в соответствии с погодой, ширина которой компактна (например, iPhone) или обычной (например, iPad). В инспекторе просмотров вы можете добавить вариант для компактной ширины, как это:

Adding a compact width variation to view

Нажмите варьирования и снимите галочку с «установлен». Теперь этот вид будет установлен только тогда, когда устройство имеет компактную ширину.Вы можете сделать это с помощью представления контейнера с встраиванием segue в UITableViewController.

Если вы просматриваете раскадровку как iPad (щелкнув маленькими значками внизу, где говорится «вид как»), этот вид исчезнет. Замените другой вид контейнера, который перейдет в UICollectionViewController и повторите то же самое, но на этот раз добавьте вариант с регулярной шириной.

Thats it.

(К сожалению, у меня нет достаточно очков, чтобы показать изображения)

Вот Demo project, что создает что-то вроде макета и поведения вы хотите. Все действия находятся в раскадровке, контроллеры представлений - это просто скелеты.