很多時候,我們需要在應用中添加廣告,就需要它定時滾動,在iphone上也是一樣的需要。
首先需要初始化一個NSTimer,且聲明一個全域NSInteger類型。
NSTimer *timer; NSInteger adCurrIndex;
在方法:viewDidLoad,初始化
timer = [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(adScrollByTime) userInfo:nil repeats:YES];
實現方法:adScrollByTime
-(void)adScrollByTime{ if (adCurrIndex == AdvData.count - 1) { adCurrIndex = -1; } adCurrIndex ++; [_adsScrollView setContentOffset:CGPointMake(adCurrIndex * _adsScrollView.frame.size.width, 0) animated:YES];}
在UIScrollView 回呼函數中,需要實現兩個方法
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ timer = [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(adScrollByTime) userInfo:nil repeats:YES]; adCurrIndex = scrollView.contentOffset.x / scrollView.frame.size.width;}- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{ [timer invalidate]; timer = nil;}
ok,現在就實現了,UIScrollView的定時滾動了,並且你拖動時,也會按照你拖動後的軌跡滾動。