У меня есть UICollectionView в IB с кучей разных ячеек-прототипов.
Я попытался присвоить каждой ячейке собственный размер в IB, чтобы при создании ее экземпляра с помощью dequeueReusable... она имела этот размер. Однако я обнаружил, что неважно, какие у вас настройки в IB для вашей ячейки, ваше представление коллекции использует свой собственный размер ячейки для всех ячеек, используемых внутри нее.
Это ошибка? Если нет, то как лучше всего установить нестандартный размер для всех ваших ячеек?
Я также пробовал:
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
NSString* cellIdentifier = self.cellIdentifier;
ImageCell* cell = [collectionView dequeueReusableCellWithReuseIdentifier:self.cellIdentifier forIndexPath:indexPath];
return [cell sizeOfCell];
}
Но по какой-то причине приложение вылетает при удалении ячеек из очереди в этой функции.
Я создал подклассы всех ячеек-прототипов и имею функцию, которая возвращает их собственный размер. Есть ли другой способ создать экземпляр ячейки с идентификатором, который вы дали ей в IB?