美文网首页
模仿QQ音乐Pop弹幕的效果

模仿QQ音乐Pop弹幕的效果

作者: 小冰山口 | 来源:发表于2018-11-23 16:33 被阅读0次

本人有若干成套学习视频, 可试看! 可试看! 可试看, 重要的事情说三遍 包含Java, 数据结构与算法, iOS, 安卓, python, flutter等等, 如有需要, 联系微信tsaievan.

最近有一个需求, 要做一个类似于QQ音乐的弹幕效果, 只是我们的需求比较简单, 只是做成类似的效果就可以了.


QQ音乐弹幕

我就投机取巧, 利用tableView, 然后做了一些动画效果. 下面请看效果:

自己做的效果

具体实现是这样的:

由于是Demo, 我就开启了一个定时器循环添加数据:

[self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];

然后再利用代理方法

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

这个代理方法中可以拿到即将显示的cell, 然后针对这个cell做一些动画即可

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    CGPoint animationPoint = CGPointMake(0, 0);
    CGFloat offsetX = animationPoint.x - cell.frame.size.width / 2;
    CGFloat offsetY = animationPoint.y - cell.frame.size.height / 2;
    cell.contentView.transform = CGAffineTransformMake(0.01, 0, 0, 0.01, offsetX, offsetY);
    [UIView animateWithDuration:.5f animations:^{
        cell.contentView.transform = CGAffineTransformMake(1.05f, 0, 0, 1.0f, 0, 0);
    } completion:^(BOOL finished) {
    }];
}

DEMO地址如下: 有兴趣的可以看看
DEMO地址

PS. 本人有若干成套学习视频, 包含Java, 数据结构与算法, iOS, 安卓, python, flutter等等, 如有需要, 联系微信tsaievan.

相关文章

网友评论

      本文标题:模仿QQ音乐Pop弹幕的效果

      本文链接:https://www.haomeiwen.com/subject/dtejqqtx.html