本人有若干成套学习视频, 可试看! 可试看! 可试看, 重要的事情说三遍 包含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地址
网友评论