iOS 简单的弹幕效果

最近终于比较有空了,可以写点自己的东西了,看到弹幕好好玩就跟着写了一个简单的弹幕效果,可自动追加评论,可暂停,可循环,可随机出现,效果如下,是不是瞬间觉得有弹幕的评论高大上了?

iOS 简单的弹幕效果_第1张图片
最终效果图
  • 其中 BullerView就是弹幕的视图,继承UIView,每一条弹幕都是一个BullerView,这里默认实现的是3个弹道(可以自己修改)。
  • 如何让弹幕动起来呢?利用动画optionsUIViewAnimationOptionCurveLinear枚举,该枚举表示时间曲线函数,匀速
__block CGRect frame = self.frame;
 [UIView animateWithDuration:duration delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
        frame.origin.x -= wholeWidth;
        self.frame = frame;
    } completion:^(BOOL finished) {
        [self removeFromSuperview];
        
        if (self.moveStatusBlock) {
            self.moveStatusBlock(End);
        }
    }];

  • 评论字数越多的速度越快,这是根据 v = s/t,时间相同的情况下,距离越长,速度越快。
  • BullerView通过Block回调弹幕状态。
  • BulletManager是管理弹幕的数据源,开始啊,结束啊

Demo地址:https://github.com/huicongfu/BarrageDemo

你可能感兴趣的:(iOS 简单的弹幕效果)