如何自動在水平位置使用的NSTimer如何使用NSTimer使UICollectionView自動滾動?
我的工作我下面的項目源滾動UIcollectionView:
- (void)viewDidLoad {
[super viewDidLoad];
self.endPoint = CGPointMake(0, self.collectionView.frame.size.width);
self.scrollingPoint = CGPointMake(0, 0);
self.scrollingTimer = [NSTimer scheduledTimerWithTimeInterval:0.015 target:self selector:@selector(onTimer) userInfo:nil repeats:YES];
}
- (void)onTimer {
self.collectionView.contentOffset = self.scrollingPoint;
if (CGPointEqualToPoint(self.scrollingPoint, self.endPoint)) {
[self.scrollingTimer invalidate];
}
self.scrollingPoint = CGPointMake(self.scrollingPoint.x+1, 0);
}
試着用上面的代碼,但不是爲我工作。
你不應該爲此的NSTimer。 CADisplayLink鏈接到顯示屏,因此可以更好地更新與屏幕相關的事件。這在WWD 2015或WWDC 2014的scrollView會話中得到了很好的解釋。 – Joride
嘗試先設置數據源並將其重新加載到viewdidload中,或嘗試在viewwillappear中嘗試。 然後調用你的定時器 –