0
点赞
收藏
分享

微信扫一扫

模仿QQ音乐Pop弹幕的效果

Separes 2021-09-25 阅读 63

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

最近有一个需求, 要做一个类似于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.

举报

相关推荐

0 条评论