Удалите эту строку из метода cellForItemAtIndexPath
и используйте в методе viewDidLoad
self.scrollingTimer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(startTimer:) userInfo:@{@"index" : [NSString stringWithFormat:@"%ld", (long)rowIndex]} repeats:YES];
функция таймеров вызывается примерно 10 или более раз за 1 секунду
cellForItemAtIndexPath
вызывается методмногократно.И это создает новый таймер каждый раз.Если создано 10 таймеров, то ячейки будут анимироваться в 10 раз быстрее.
ИЛИ
Проверьте, запущен ли scrollingTimer
или нет, как это в cellForItemAtIndexPath
if (!scrollingTimer.isValid) {
self.scrollingTimer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(startTimer:) userInfo:@{@"index" : [NSString stringWithFormat:@"%ld", (long)rowIndex]} repeats:YES];
}