Ответ 1
Класс uicollectionview почти идентичен классу uitableview . Они используют одни и те же методы и функции. И если методы / функции разные, большую часть времени это просто вопрос замены «строки» для «ячейки» и наоборот. Однако существует несколько методов, которые не существуют в UICollectionView, которые выполняются в UITableView. Сначала я объясню, как настроить UICollectionView:
- Начните с добавления вашего UICollectionView в текущий ViewController или создания нового UICollectionViewController. Эти шаги не так сильно отличаются для представления и контроллера.
Если вы используете View, а не ViewController, убедитесь, что делегат и DataSource из CollectionView являются контроллером представления, в котором он включен. Также не забудьте добавить делегат и DataSource в файл заголовка:
<UICollectionViewDataSource, UICollectionViewDelegate>
Затем обязательно включите эти три метода в класс контроллера вида:
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
Это единственные требуемые методы. Первый сообщает сборку о количестве разделов, которые она должна иметь. Это должно возвращать целочисленное значение. Второй метод получает количество ячеек в каждом разделе. Опять же, это должно возвращать целочисленное значение. Последний метод заполняет каждую ячейку, используя данные (обычно из NSArray). Этот последний метод должен возвращать CollectionViewCell. Если вы установите контрольные точки для этого метода, вы заметите, что он вызывается один раз для каждой ячейки, определенной в методе
numberOfItemsInSection
.
UICollectionViews предоставляют расширенные методы анимации и позволяют отменить выбор и выделение ячеек (аналогично приложениям, например «Страницы» в режиме «Редактирование»). Однако, насколько мне известно, UICollectionViews не предоставляют такие функции, как «прокрутка для удаления» или или вид индикатора раскрытия.
UICollectionViews также позволяет создавать пользовательские ячейки с использованием файлов xib (AKA nib ), что позволяет использовать некоторые очень продвинутые и уникальные интерфейсы без большого количества сложного кода.
К сожалению, UICollectionView поддерживается только в iOS 6 и выше. Существует несколько проектов, таких как PSTCollectionView, который добавляет поддержку CollectionViews в iOS 4.3+, но я не понял, как их использовать. В моем случае, когда загружается представление, я просто проверяю, доступен ли класс UICollectionView, а если нет, тогда я загружаю таблицу.
Здесь приведена ссылка на официальную документацию Apple по коллекции видов . Вы также можете проверить этот учебник .