NSTimer 控制 UIScrollView的定时滚动

很多时候,我们需要在应用中添加广告,就需要它定时滚动,在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的定时滚动了,并且你拖动时,也会按照你拖动后的轨迹滚动。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值