iOS开发-给TableView或者CollectionView的cell添加简单动画,很方便,直接粘代码即可


只要在willDisplayCell方法中对将要显示的cell做动画即可:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
    NSArray *
array =  tableView.indexPathsForVisibleRows;
    NSIndexPath *firstIndexPath = 
array[0];

   
//设置anchorPoint
    cell.layer.anchorPoint = CGPointMake(
00.5);
   
//为了防止cell视图移动,重新把cell放回原来的位置
    cell.layer.position = CGPointMake(
0, cell.layer.position.y);

   
//设置cell 按照z轴旋转90度,注意是弧度
   
if (firstIndexPath.row < indexPath.row) {
            cell.layer.transform = CATransform3DMakeRotation(M_PI_2, 
001.0);
    }
else{
        cell.layer.transform = CATransform3DMakeRotation(- M_PI_2, 
001.0);
    }

    cell.alpha = 
0.0;

    [UIView animateWithDuration:
1 animations:^{
        cell.layer.transform = CATransform3DIdentity;
        cell.alpha = 
1.0;
    }];
}
- (
void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath{

   
if (indexPath.row % 2 != 0) {
    //自定义宏kScreenWidth,屏幕宽度
        cell.transform = CGAffineTransformTranslate(cell.transform, kScreenWidth/
20);
    }
else{
        cell.transform = CGAffineTransformTranslate(cell.transform, -kScreenWidth/
20);
    }
    cell.alpha = 
0.0;
    [UIView animateWithDuration:
0.7 animations:^{
        cell.transform = CGAffineTransformIdentity;
        cell.alpha = 
1.0;
    } completion:^(BOOL finished) {

    }];
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值