it-roy-ru.com

Регулировка скорости прокрутки UICollectionView/чувствительности

Я пытаюсь замедлить прокрутку в UICollectionView. Все работает отлично, и расстояние между клетками в порядке, но оно движется слишком быстро.

Как я могу настроить чувствительность или скорость прокрутки?

[Изменить] Я забыл упомянуть, что я уже пытался:

self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast;

а также

self.collectionView.decelerationRate = UIScrollViewDecelerationRateNormal;

Без значительных изменений в скорости ...

20
MXV

UICollectionView является подклассом UIScrollView, поэтому вы можете настроить decelerationRate в viewDidLoad контроллера представления коллекции следующим образом:

Objective-C:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast;
};

Swift:

override func viewDidLoad() {
    super.viewDidLoad()

    self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast
}
31
followben

Для тех, кто ищет, как это сделать в Swift

 self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast
2
the_pantless_coder

Для тех, кто не использует UICollectionViewController, я искал высоко и низко, как сделать эту работу. Оказывается, если вы подкласс UICollectionView и устанавливаете self.decelerationRate = UIScrollViewDecelerationRateFast в когда-либо необходимом методе init(coder aDecoder:), все в порядке.

Предположение относительно причины этого состоит в том, что UICollectionView не любит регулировать скорость замедления после того, как макет был создан. Я не могу быть уверен, и я потратил на это более чем достаточно времени. Просто думал, что я отправлю ответ, хотя.

SDK: iOS 9 + Xcode: 8.3.2 Swift: 3.1

0
topLayoutGuide