Estoy tratando de frenar el desplazamiento en un UICollectionView. Todo funciona de maravilla y la distancia entre las células, está bien, pero sólo se mueve demasiado rápido.

¿Cómo puedo ajustar la sensibilidad o la velocidad de desplazamiento?

[Editar] se me olvidó mencionar que ya he probado:

self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast;

y

self.collectionView.decelerationRate = UIScrollViewDecelerationRateNormal;

Con un cambio significativo en la velocidad…

  • Las actualizaciones sobre esto?
InformationsquelleAutor MXV | 2013-02-19

3 Comentarios

  1. 38

    UICollectionView es una subclase de UIScrollView, así que usted puede ajustar el decelerationRate en su colección de controlador de vista del viewDidLoad, así:

    Objective-C:

    - (void)viewDidLoad
    {
        [super viewDidLoad];
    
        self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast;
    };

    Swift:

    override func viewDidLoad() {
        super.viewDidLoad()
    
        self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast
    }
    • Ya lo intenté UIScrollViewDecelerationRateFast y UIScrollViewDecelerationRateNormal con ningún cambio significativo. Hay otras propiedades que puedo utilizar?
    • No soy consciente de ninguna. Sólo he probado en uno de mis propios proyectos, y la configuración de la decelerationRate de un UICollectionView a UIScrollViewDecelerationRateFast ralentiza el desplazamiento significativamente. ¿Estás seguro que tu referencia a su collectionView es correcto? Si está creando objetos en IB, ha revisado sus puntos de venta son la instalación correctamente?
    • Sí, todos conectados como se supone que. ¿Crees que el diseño puede tener algo que ver con ella?
    • Es posible que supongo que, aunque no es consciente de nada en UICollectionViewLayout que se mete con la desaceleración de las tasas. Hay targetContentOffsetForProposedContentOffset:withScrollingVelocity:, pero que sólo devuelve el punto en el que para detener el desplazamiento. Estás usando una costumbre (flujo) de diseño? Si es así, usted puede publicar el código?
    • He intentado jugar con el UIScrollView.decelerationRate, pero el rango se permite es 0.990000 a 0.998000, que no es mucho ajuste.
    • Ajuste manual del decelerationRate no cambia su valor en absoluto.
    • BOOM! Usted salvó mi vida 🙂 yo no sabía acerca de que uno! saludos
    • Mejora la velocidad de desplazamiento de la vista de colección de la célula.

  2. 3

    Para cualquiera que esté buscando la manera de hacerlo en SWIFT

     self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast
    • Con Swift no debería ser más conciso manera de expresarlo.
  3. 0

    Para aquellos que no utilizan un UICollectionViewController, yo estaba buscando alta y baja para una manera de hacer este trabajo. Resulta que si la subclase UICollectionView sí mismo, y el conjunto de self.decelerationRate = UIScrollViewDecelerationRateFast en la siempre necesaria init(coder aDecoder:) método, ya está bueno para ir.

    Especulación en cuanto a la causa de esto es que UICollectionView no como el ajuste de la tasa de desaceleración después de que el diseño ha sido creado. No estoy seguro, y he desperdiciado tiempo más que suficiente en este. Sólo pensé en publicar respuesta, aunque.

    SDK: iOS 9+
    Xcode: 8.3.2
    Swift: 3.1

Dejar respuesta

Please enter your comment!
Please enter your name here