截图如下 : 
 
 
 
功能:
 
每次点击礼物,都要通过动画显示一个小图标,最多显示两行图标栏,送多次会显示然后再次显示,显示 XX 送给 XX 一个小礼物的动画样式.动画样式效果为,整体动画模块出现1秒,暂停1秒,消失一秒。
 
功能实现:
 
一个View 上面放了两个小模块,模块内包含两个imageView,3个UIlabel , 通过数组和BOOL开关来创造队列,控制多次打赏的动画显示顺序。
 
首先判断数组中是否有动画队列存在,如果有,按顺序显示 第一个位置显示第一个动画,第二个位置显示第二个动画,等第一个动画显示完开始显示第三个动画。
 
每个动画的执行顺序大概3秒,送礼模块出现1秒,送礼模块暂停1秒,送礼模块消失一秒。
 
队列是通过数组来进行维持。
 
 
 
 
 
 
代码Github :
 
 
 
关键部分代码:
 
- 动画效果:
 
- (void)upLeftViewfadeInWithTime:(NSTimeInterval)time leftView:(IDSGiftSmallLeftSideView *)leftView{
    leftView.alpha = 0;
   
    [UIViewanimateWithDuration:time animations:^{
        leftView.alpha = 1;
    } completion:^(BOOL finished) {
 
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            [UIViewanimateWithDuration:0.2animations:^{
                leftView.alpha = 0;
            } completion:^(BOOL finished) {
                _leftViewUpPlaying = NO;
                [selfstartPlay];
            }];
        });
       
    }];
}
 
 
队列函数:
 
- (void)startPlay
{
    if (_playGifSwitch) {
        return;
    }
    if (_queenArray.count == 0) {
        _playGifSwitch = NO;
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            if (_leftViewDownPlaying) {
                return;
            }
            if (_leftViewUpPlaying) {
                return;
            }
            self.hidden = YES;
        });
        return;
    }
    self.hidden = NO;
    _playGifSwitch = YES;
    if (_queenArray.count > 0) {
        if (!_leftViewUpPlaying) {
            _playGifSwitch = NO;
            [selfleftViewUpShow:_queenArray[_queenArray.count-1]];
            [_queenArrayremoveLastObject];
            return;
        }
        if (!_leftViewDownPlaying) {
            _playGifSwitch = NO;
            [selfleftViewDownShow:_queenArray[_queenArray.count-1]];
            [_queenArrayremoveLastObject];
            return;
        }
    }
    _playGifSwitch = NO;
}

<房间内功能>打赏小动画的更多相关文章

  1. CSS3-实现单选框radio的小动画

    在微信上看到一个教程文,觉得制作的小动画还是很有意思的,自己也试验了一下.一开始动画怎么都不执行(我用的HB),因为内置浏览器对css3的不兼容.加上各种浏览器前缀后就好了.但是旋转那个效果,在HB里 ...

  2. TabbarItem超炫小动画

    本文转载自 不灭的小灯灯  的博客 Tabbar点击时候超炫小动画 感谢这位大神的分享! 对UITabBarController上TabBar按钮动画详细介绍-->>保证你有意外收获,如有 ...

  3. 如何制作网页小动画?——gif or png

    一.场景与动画 为了拉动网站氛围,或者吸引用户浏览焦点,需要使用一些小动画.这种动画不是(gif)单纯的重复,而是需要需要一些控制和交互,比如在动画完成后打开一个对话框.动画有几个基本要素(时间控制, ...

  4. 利用jQuery实现用户名片小动画

    我爱撸码,撸码使我感到快乐!大家好,我是Counter.下面给大家介绍利用jQuery实现的小动画,非常的简便,如果有原生js操作的话,那么就不止这么多行了.至于CSS,个人觉得,这边CSS布局也蛮重 ...

  5. Canvas 图片绕边旋转的小动画

    /** * 图片绕边旋转的小动画 */ function initDemo10() { var canvas = document.getElementById("demo10") ...

  6. 利用@keyframe及animation做一个页面Loading时的小动画

    前言 利用@keyframe规则和animation常用属性做一个页面Loading时的小动画. 1  @keyframe规则简介 @keyframes定义关键帧,即动画每一帧执行什么. 要使用关键帧 ...

  7. jquery实现一些小动画二

    jquery实现一些小动画二 jquery实现拖拽功能 <!DOCTYPE html> <html lang="en"> <head> < ...

  8. jquery实现一些小动画一

    jquery实现小动画 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  9. CSS3——制作人物走路的小动画

    一个很简单的小动画,但是还挺有意思的,就是找这种图片很麻烦,我这里把我找的一张图片贴上来,这张图片是我在网上找的,又改了背景色和大小. <!DOCTYPE html> <html l ...

随机推荐

  1. CentOS虚拟机克隆后IP设置

    1.网卡设置 vim /etc/udev/rules.d/70-persistent-net.rules 将新生成的eth1改名为eth0,并将原来的eth0注释或删除,同时复制mac地址 2.IP设 ...

  2. Cross-Domain Security For Data Vault

    Cross-domain security for data vault is described. At least one database is accessible from a plural ...

  3. jquery 源码学习(四)构造jQuery对象-工具函数

    jQuery源码分析-03构造jQuery对象-工具函数,需要的朋友可以参考下.   作者:nuysoft/高云 QQ:47214707 EMail:nuysoft@gmail.com 声明:本文为原 ...

  4. MySQL中 MySQL X.X Command Line Client 一闪而过

    问题介绍:我安装完MySQL(我安装的是5.5)后,使用MySQL 5.5 Command Line Client,每次点击,总是一闪而过. 从网上我查了下,都是暂时的解决的方法,不能够解决使点击 M ...

  5. mysql 权限命令

    grant all on *.* to 'root' identified by 'root';

  6. android中滑动SQLite数据库分页加载

    今天用到了android中滑动SQlit数据库分页加载技术,写了个测试工程,将代码贴出来和大家交流一下: MainActivity package com.example.testscrollsqli ...

  7. twemproxy架构分析——剖析twemproxy代码前编

    twemproxy背景 在业务量剧增的今天,单台高速缓存服务器已经无法满足业务的需求, 而相较于大容量SSD数据存储方案,缓存具备速度和成本优势,但也存在数据安全性的挑战.为此搭建一个高速缓存服务器集 ...

  8. 机器学习: Viola-Jones 人脸检测算法解析(二)

    上一篇博客里,我们介绍了VJ人脸检测算法的特征,就是基于积分图像的矩形特征,这些矩形特征也被称为Haar like features, 通常来说,一张图像会生成一个远远高于图像维度的特征集,比如一个 ...

  9. 机器学习: Python with Recurrent Neural Network

    之前我们介绍了Recurrent neural network (RNN) 的原理: http://blog.csdn.net/matrix_space/article/details/5337404 ...

  10. Analysis of variance(ANOVA)

    方差分析,也称为"变异数分析",用于两个及两个以上样本均值(group means)差别的显著性检验.在 ANOVA 的环境下,一个观测得到的方差视为是由不同方差的源组合而成.