Настройка UICollectionView в iOS

Я искал способы настройки UICollectionView для приложения iOS. Google только открывает несколько блогов с сообщениями о том, что это такое, а не как это работает. Тогда, конечно, есть документация Apple, которая полезна, но не предоставляет столько информации, сколько мне хотелось бы настроить UICollectionView.

Как можно настроить UICollectionView?

Ответ 1

Класс почти классу . Они используют одни и те же методы и функции. И если методы / функции разные, большую часть времени это просто вопрос замены «строки» для «ячейки» и наоборот. Однако существует несколько методов, которые не существуют в UICollectionView, которые выполняются в UITableView. Сначала я объясню, как настроить UICollectionView:

  1. Начните с добавления вашего UICollectionView в текущий ViewController или создания нового UICollectionViewController. Эти шаги не так сильно отличаются для представления и контроллера.
  2. Если вы используете View, а не ViewController, убедитесь, что делегат и DataSource из CollectionView являются контроллером представления, в котором он включен. Также не забудьте добавить делегат и DataSource в файл заголовка: <UICollectionViewDataSource, UICollectionViewDelegate>

  3. Затем обязательно включите эти три метода в класс контроллера вида:

    -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
    
    -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
    
    -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
    
  4. Это единственные требуемые методы. Первый сообщает сборку о количестве разделов, которые она должна иметь. Это должно возвращать целочисленное значение. Второй метод получает количество ячеек в каждом разделе. Опять же, это должно возвращать целочисленное значение. Последний метод заполняет каждую ячейку, используя данные (обычно из NSArray). Этот последний метод должен возвращать CollectionViewCell. Если вы установите контрольные точки для этого метода, вы заметите, что он вызывается один раз для каждой ячейки, определенной в методе numberOfItemsInSection.

UICollectionViews предоставляют расширенные методы анимации и позволяют отменить выбор и выделение ячеек (аналогично приложениям, например «Страницы» в режиме «Редактирование»). Однако, насколько мне известно, UICollectionViews не предоставляют такие функции, как «прокрутка для удаления» или или вид индикатора раскрытия.

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

К сожалению, UICollectionView поддерживается только в iOS 6 и выше. Существует несколько проектов, таких как PSTCollectionView, который добавляет поддержку CollectionViews в iOS 4.3+, но я не понял, как их использовать. В моем случае, когда загружается представление, я просто проверяю, доступен ли класс UICollectionView, а если нет, тогда я загружаю таблицу.

Здесь приведена ссылка на официальную документацию Apple по коллекции видов . Вы также можете проверить этот учебник .

Ответ 2

Я создал пошаговое руководство по настройке UICollectionViews с настраиваемыми макетами. Надеюсь, это поможет некоторым людям ознакомиться с API.