web-dev-qa-db-fra.com

Réglage de la vitesse/sensibilité du défilement UICollectionView

J'essaie de ralentir le défilement dans UICollectionView. Tout fonctionne très bien et la distance entre les cellules est bonne, mais ça avance trop vite.

Comment puis-je régler la sensibilité ou la vitesse du défilement?

[Modifier] J'ai oublié de mentionner que j'ai déjà essayé:

self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast;

et

self.collectionView.decelerationRate = UIScrollViewDecelerationRateNormal;

Sans changement significatif de la vitesse ...

20
MXV

UICollectionView est une sous-classe de UIScrollView. Vous pouvez donc ajuster la decelerationRate dans la variable viewDidLoad de votre contrôleur de vue de collection, comme suit:

Objectif c:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast;
};

Rapide:

override func viewDidLoad() {
    super.viewDidLoad()

    self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast
}
31
followben

Pour ceux qui cherchent à le faire à Swift

 self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast
2
the_pantless_coder

Pour ceux qui n'utilisaient pas UICollectionViewController, je cherchais haut et bas un moyen de faire fonctionner ce travail. Il s'avère que si vous sous-classe UICollectionView elle-même et que vous définissez self.decelerationRate = UIScrollViewDecelerationRateFast dans la méthode init(coder aDecoder:) jamais requise, vous êtes prêt à partir.

UICollectionView n'aime pas ajuster le taux de décélération après la création de la mise en page. Je ne peux pas en être certain et j'ai perdu plus de temps que cela. Je pensais juste que je posterais une réponse cependant.

SDK: iOS 9 + Xcode: 8.3.2 Swift: 3.1

0
topLayoutGuide