Quiero mostrar un UICollectionView que contiene exactamente 2 filas y 100 celdas de cada fila.

//1
- (NSInteger)collectionView:(UICollectionView *)view numberOfItemsInSection:(NSInteger)section {

    return 100;
}
//2
- (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView {
    return 2;
}
//3
- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    MyCell *cell = [cv dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];

        cell.lbl.text = @"Data";

    return cell;
}

Me estoy poniendo esto:

Especificar la fila y el número de columna para UICollectionView

¿Cómo puedo especificar un número de fila para UICollectionView? Quiero crear un 2×100 tabla.

OriginalEl autor onivi | 2013-09-25

5 Comentarios

  1. 15

    Intente esto:

    //1
    - (NSInteger)collectionView:(UICollectionView *)view numberOfItemsInSection:(NSInteger)section {
    
        return 2;
    }
    //2
    - (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView {
        return 100;
    }
    //3
    - (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath {
        MyCell *cell = [cv dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
    
            cell.lbl.text = @"Data";
    
        return cell;
    }
    Muchas gracias…
    parece incorrecta
    Es mejor usar diseño personalizado: stackoverflow.com/a/35362818/833885

    OriginalEl autor amone

  2. 15

    De 3 celdas por fila .. Agregue este código.

    - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
    {
         return CGSizeMake(collectionView.frame.size.width/3.2 , 100);
    }
    El UICollectionViewDelegateFlowLayout protocolo es necesario para este método.
    Sí, sí, sí necesitamos. Echa un vistazo a: developer.apple.com/library/ios/documentation/UIKit/Reference/…
    Es debe ser de 3 celdas por fila, o cuántas columnas. A la derecha?
    Yaah por fila…
    ¿Por qué utilizar 3.2 ?

    OriginalEl autor Sakshi Singla

  3. 11

    Para Swift : 3 Filas por Columna (mediante el uso de @SakhshiSingla Respuesta)

    override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
      return 1
    }
    
    override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 3
    }
    
    func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
        {
            return CGSize(width: collectionView.frame.size.width/3.2, height: 100)
        }

    OriginalEl autor Naveed Ahmad

  4. 10

    El enfoque más general para lograr el n columnas en la vista de colección que es compatible en cualquier orientación es

     func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
    
       //flow layout have all the important info like spacing, inset of collection view cell, fetch it to find out the attributes specified in xib file
       guard let flowLayout = collectionViewLayout as? UICollectionViewFlowLayout else {
            return CGSize()
        }
    
        //subtract section left/right insets mentioned in xib view
    
        let widthAvailbleForAllItems =  (collectionView.frame.width - flowLayout.sectionInset.left - flowLayout.sectionInset.right)
    
        //Suppose we have to create nColunmns
        //widthForOneItem achieved by sunbtracting item spacing if any
    
        let widthForOneItem = widthAvailbleForAllItems / nColumns - flowLayout.minimumInteritemSpacing
    
    
        //here height is mentioned in xib file or storyboard
        return CGSize(width: CGFloat(widthForOneItem), height: (flowLayout.itemSize.height))
     }

    OriginalEl autor Vivek Bansal

  5. 3

    El Número de secciones dicta el número de celdas en cada fila, suponiendo que el tamaño de celda lo permite.

    Una sección siempre va a iniciar una nueva fila.

    OriginalEl autor themikola

Dejar respuesta

Please enter your comment!
Please enter your name here