0

У меня есть проблема с моим UICollectionView, у меня есть 3 колонки и все работает отлично, вместо Iphone 5 и 4.UICollectionView вопрос раскладка на Iphone 5

В Iphone 6 мой CollectionView выглядит, что (ширина в ячейке):

iphone 6 with 3 cells

iphone 6 with 2 cells

Iphone 5 с клетками:

iphone 5 with 3 cells

Проблема заключается в том, когда в последнем ряду, у меня есть 2 клетки, и это выглядит следующим образом: iphone 5 with 2 cells

Внешний вид я хочу добиться:

expected iphone 5 with 2 cells

Every где я can, я устанавливаю вставки в (0, 0, 0, 0). Я использую макет по умолчанию со своими вставками, установленными в раскадровке. Так можно ли достичь этого с помощью макета потока или мне нужно посмотреть в пользовательский макет?

=== редактировать создать UICollectionView в раскадровке и инвентарь делегата:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    float width = self.frame.size.width/3.0f; 
    float height = floorf(width + 118); 

    if(SMALLER_THAN_6){ 
     width = floorf(width); 
     if([indexPath row] % 3 < 2){ 
      ++width; 
     } 
    } 


    return CGSizeMake(width, height); 
} 

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section 
{ 
    return UIEdgeInsetsMake(0, 0, 0, 0); 
} 

- (CGFloat)collectionView:(UICollectionView *)collectionView 
        layout:(UICollectionViewLayout*)collectionViewLayout 
minimumInteritemSpacingForSectionAtIndex:(NSInteger)section { 
    return 0.0; 
} 

- (CGFloat)collectionView:(UICollectionView *)collectionView 
        layout:(UICollectionViewLayout*)collectionViewLayout 
minimumLineSpacingForSectionAtIndex:(NSInteger)section{ 
    return 0.0; 
} 
+0

положить соответствующий код –

ответ

0

Я решил эту проблему, вставляя пустую ячейку в конце строки (только на Iphone 4 & 5)

enter image description here

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