Estoy haciendo uso de UICollectionView y yo tenga que desplazarse a la primera celda después de que haga clic en un botón.

El botón se encuentra en un (gran) sección de encabezado en mi colección… al hacer clic en int, necesito desplácese a mi primera celda situada debajo de este botón.

He creado una acción de este botón, pero no sé cómo desplazarse a la primera UICollectionViewCell.

Alguien me puede ayudar?

OriginalEl autor Alessandro Garcez | 2015-08-28

7 Comentarios

  1. 43

    El uso de este método de delegado, la configuración de la indexPath en la primera posición:

    Swift

    self.collectionView?.scrollToItemAtIndexPath(NSIndexPath(forItem: 0, inSection: 0), 
                                                    atScrollPosition: .Top, 
                                                            animated: true)

    Swift 3

    self.collectionView?.scrollToItem(at: IndexPath(row: 0, section: 0), 
                                      at: .top, 
                                animated: true)

    Objective-C

    [self.collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:0] 
                                atScrollPosition:UICollectionViewScrollPositionTop
                                        animated:YES];

    Cambio UICollectionViewScrollPositionTop si desea desplazarse y dejar en una posición diferente

    Funcionó!!! Gracias
    Debe ser …(forItem: 0, inSection: 0)…… si desea que el primer elemento de
    Swift 3 versión: self.collectionView?.scrollToItem(at: IndexPath(row: 0, section: 0), at: .top, animated: true)
    añadido gracias
    Este se desplaza a la primera celda visible, no a la primera celda de la collectionView.

    OriginalEl autor Jacopo Penzo

  2. 5

    Podría ser posible utilizar la UIScrollView relacionados con la propiedad

    collectionView.contentOffset.x = 0
    Este era el que mejor funcionaba. No es anime pero scrollToItem no se tiene en cuenta en cualquier borde de los márgenes que tiene.

    OriginalEl autor

  3. 2

    Usted puede usar esto para Objective – C

            [self.restaurantCollectionView setContentOffset:CGPointZero animated:YES];

    OriginalEl autor Celil Bozkurt

  4. 2

    La siguiente solución funciona muy bien para mí:

    UIView.animate(withDuration: 0.5, animations: {
         self.collectionView?.contentOffset.x = 0
    })

    Se desplaza hasta el primer elemento y el contentInset puede ser visto así.

    OriginalEl autor Kevin Waltz

  5. 0

    Defecto CollectionView Delgeate…

    - (void)scrollToItemAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UICollectionViewScrollPosition)scrollPosition animated:(BOOL)animated;

    OriginalEl autor Kavita

  6. 0
    if let indexPath = self.collectionView?.indexPathForItem(at: CGPoint(x: 0, y: 0)) {
                self.collectionView?.scrollToItem(at: indexPath, at: .top, animated: false)
    }

    OriginalEl autor Sami Youssef

  7. 0
     scrollView.setContentOffset(CGPoint(x: 0.0, y: 0.0), animated: true)

    OriginalEl autor JP Aquino

Dejar respuesta

Please enter your comment!
Please enter your name here