<房间内功能>打赏小动画

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

转载于:https://www.cnblogs.com/firstrate/p/7887986.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值