web-dev-qa-db-ja.com

UICollectionViewのスクロール速度/感度を調整する

UICollectionViewのスクロールを遅くしようとしています。すべてがうまく機能し、セル間の距離は良好ですが、動きが速すぎます。

スクロールの感度または速度を調整するにはどうすればよいですか?

[編集]私がすでに試したことを言及するのを忘れていました:

self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast;

そして

self.collectionView.decelerationRate = UIScrollViewDecelerationRateNormal;

速度に大きな変化はありません...

23
MXV

UICollectionViewUIScrollViewのサブクラスなので、コレクションビューコントローラのdecelerationRateviewDidLoadを次のように調整できます。

Objective-C:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast;
};

迅速:

override func viewDidLoad() {
    super.viewDidLoad()

    self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast
}
39
followben

Swiftでそれを行う方法を探している人のために

 self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast

スウィフト5:

 self.collectionView.decelerationRate = UIScrollView.DecelerationRate.fast;
3

UICollectionViewControllerを使用していない人のために、私はこれを機能させる方法を探して高低を探していました。 UICollectionView自体をサブクラス化し、常に必要なinit(coder aDecoder:)メソッドにself.decelerationRate = UIScrollViewDecelerationRateFastを設定すると、問題ありません。

これの原因に関する推測は、UICollectionViewがレイアウトが作成された後に減速率を調整することを好まないことです。確信が持てず、これに十分な時間を費やしてきました。答えを投稿したいと思っただけです。

SDK: iOS 9+ Xcode: 8.3.2 Swift: 3.1

0
topLayoutGuide