0

Я создал собственный подкласс UICollectionViewCell вместе с Xib, который определяет размер ячейки (60 баллов по 60 баллов).Как изменить размер UICollectionViewCell (с Xib)

Я также осуществил следующие:

- (CGSize)collectionView:(UICollectionView *)collectionView 
        layout:(UICollectionViewLayout *)collectionViewLayout 
    sizeForItemAtIndexPath:(NSIndexPath *)indexPath { 
    CGSize size = [MainScreen screen]; 
    CGFloat width = size.width; 
    CGFloat item = (width*60)/320; 
    return CGSizeMake(item, item); 
} 

Проблема Я бегу в том, что каждый раз, когда я запускаю свою программу, клетки в моем UICollectionView контроллера всегда появляются как 60х60 клеток. Кроме того, я тестировал iPhone 6s, который равен 375x667 точек (поэтому, делая математику, ячейки должны быть ~ 70x70, а не 60x60).

Как программно изменить размер ячейки (или, вернее, переопределить предопределенный размер Xib)?

+1

Вы уверены, что ваш контроллер просмотра установлен как делегат UICollectionViewDelegateFlowLayout? – JiuJitsuCoder

+0

Да, и тем самым я предполагаю, что вы имеете в виду следующее: '[self.collectionView setCollectionViewLayout: flowLayout];', '[self.collectionView setDelegate: self];' –

+0

Фактически, я беру это обратно ... вид контроллер установлен в 'UICollectionViewDelegateFlowLayout' в файле заголовка. –

ответ

0

Это было просто неопытное проявление на моем конце. sizeForItemAtIndexPath: работал правильно, однако фактический кадр изображения ячейки необходимо переопределить на основе параметров item. Поэтому, если я жестко закодировал CGSizeMake(100,100) для размера ячейки коллекции, мне также нужно было изменить размер кадра изображения, который будет занимать ячейку до 100x100.

+0

рада, что вы поняли это! – JiuJitsuCoder

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