给TableView添加一点动画效果

直接上代码:


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

    

    

        cell.contentView.transform=CGAffineTransformMakeTranslation(KVIEWWIDTH, 0);

        CATransform3D transform = CATransform3DIdentity;

//        transform = CATransform3DRotate(transform, 0, 0, 0, 1);   // 渐变

        transform = CATransform3DScale(transform, 0, 0, 0);       // ->

//        transform = CATransform3DTranslate(transform, -200, 0, 0);// 变大+弹簧效果

        cell.layer.transform = transform;

        cell.layer.opacity = 0.0;

    

        [UIView animateWithDuration:0.5 delay:0 usingSpringWithDamping:0.4 initialSpringVelocity:4 options:UIViewAnimationOptionCurveEaseInOut animations:^{


            cell.layer.transform = CATransform3DIdentity;

            cell.layer.opacity = 1;

                

        } completion:nil];

 

}



将这段代码放到带 UITableView的VC中去即可,若是 UICollectionView ,同理

-(void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath {


 

cell.contentView.transform=CGAffineTransformMakeTranslation(KVIEWWIDTH0);

        CATransform3D transform = CATransform3DIdentity;

//        transform = CATransform3DRotate(transform, 0, 0, 0, 1);   // 渐变

        transform = CATransform3DScale(transform, 000);       // ->

//        transform = CATransform3DTranslate(transform, -200, 0, 0);// 变大+弹簧效果

        cell.layer.transform = transform;

        cell.layer.opacity = 0.0;

    

        [UIView animateWithDuration:0.5 delay:0 usingSpringWithDamping:0.4 initialSpringVelocity:4options:UIViewAnimationOptionCurveEaseInOut animations:^{


            cell.layer.transform = CATransform3DIdentity;

            cell.layer.opacity = 1;

                

        } completion:nil];

   

    

}


UICollectionView 自带移动item功能,(iOS9.0后可用)

- (BOOL)collectionView:(UICollectionView *)collectionView canMoveItemAtIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(9_0);

- (void)collectionView:(UICollectionView *)collectionView moveItemAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath*)destinationIndexPath NS_AVAILABLE_IOS(9_0);


我们项目中用到了这个移动功能,长按+动画+移动 ,效果不错。下一次贴代码


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值