广告页面的跳过按钮倒计时功能可以通过定时器或者GCD实现

// GCD倒计时

  • (void)startCoundown
    {
    __block

int timeout = showtime + 1;

//倒计时时间 + 1

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

dispatch_source_t

_timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue);

dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0 * NSEC_PER_SEC,0);

//每秒执行
dispatch_source_set_event_handler(_timer,^{
if(timeout <= 0){

//倒计时结束,关闭
dispatch_source_cancel(_timer);

dispatch_async(dispatch_get_main_queue(),^{

[self dismiss];

});

}else{

dispatch_async(dispatch_get_main_queue(), ^{

[_countBtn setTitle:[NSString stringWithFormat:@"跳过%d",timeout] forState:UIControlStateNormal];

});

timeout--;

}

});

dispatch_resume(_timer);

}

posted @ 2016-08-29 14:55  GJR  阅读(1184)  评论(0)    收藏  举报