iOS倒计时数字放大效果实现

em....

第一次写技术文章,有点激动。做了很久的IOS开发,都没记录下相关的学习知识。于是决定接下来陆陆续续写点文章。

回到正题,本次实现的是倒计时放大效果。用到的知识有 GCD、UIView动画。相对来说还是比较简单易懂的类型。

先上效果图:


4081F5DC-3E48-4228-BC58-D0CB8DD6B39B.png
4730E8FB-7E9F-4C9F-9072-2CCCE2D40580.png

首先,在新建方法里面实现一个UILabel,并设置字体颜色和文字大小

-(void)secountDown{
    countDown =[[UILabel alloc]init];
    countDown.text=@"10";
    countDown.textColor =FONTCOLOR33;
    countDown.font =[UIFont systemFontOfSize:100];
    [self.view addSubview:countDown];
    [countDown mas_makeConstraints:^(MASConstraintMaker *make) {
        make.center.equalTo(self.view);
     }];
}

其次新建一个GCD倒计时的方法。 这里关于GCD的知识就不解释了,想学习更多的知识,可以网上搜的。

#pragma mark GCD实现倒计时
-(void)thirdBtnAction{
    __block NSInteger second = 10;
    dispatch_queue_t quene = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, quene);
    dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC, 0 * NSEC_PER_SEC);

    dispatch_source_set_event_handler(timer, ^{
        dispatch_async(dispatch_get_main_queue(), ^{
            if (second == 0) {
                dispatch_cancel(timer);
            } else {
                second--;
            }
        });
    });

    dispatch_resume(timer);
}

创建完了CGD倒计时方法后,就需要去实现每秒该实现的事情。
在动画开始前,我们都需要去初始化UILabel,然后在调用UIView动画去改变UILabel的形态

 countDown.text=[NSString stringWithFormat:@"%d",second];
 countDown.alpha = 1;
 countDown.textColor = FONTCOLOR33;
[UIView animateWithDuration:0.5 animations:^{
        countDown.alpha = 0;//透明度
        countDown.transform = CGAffineTransformMakeScale(5.0, 5.0);//放大值
 } completion:^(BOOL finished) {
       countDown.transform = CGAffineTransformIdentity;//回复原大小
 }];

至此,倒计时数字放大效果已实现完成。各位同行的大佬,有更好的方法,欢迎指点。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1 CALayer IOS SDK详解之CALayer(一) http://doc.okbase.net/Hell...
    Kevin_Junbaozi阅读 5,353评论 3 23
  • 这是暗物质,小能熊365天写作计划第一零五天写作内容,谢绝转载。 凌坷是因为接触过史前文明的遗物,才会得出异族科...
    黑暗物质阅读 192评论 0 0
  • 今天是十月一日, 国庆节了, 朋友圈里开始晒回家路途的奔波, 高速上的拥堵, 景区人潮的拥挤, 人们赶往...
    晓之淼淼阅读 629评论 0 2
  • 15条时间管理的行为守则,看看你做到了几条? 鲁迅曾经说过:“生命是以时间为单位的,浪费别人的时间等于谋财害命;浪...
    创一学习吧阅读 731评论 0 0
  • 最近在得到里面看到了一本书《反现弱》,里面讲到一个观点,不确定性是永恒存在的。 这个观点,能给我们什么启发呢? 第...
    李灿辉阅读 270评论 0 0

友情链接更多精彩内容