TableView 加载时动画效果

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在协议方法里面写动画


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

{


    cell.alpha = 0.5;

    

    CGAffineTransform transformScale = CGAffineTransformMakeScale(0.3,0.8);

    CGAffineTransform transformTranslate = CGAffineTransformMakeTranslation(0.5, 0.6);

    

    cell.transform = CGAffineTransformConcat(transformScale, transformTranslate);

    

    [tableView bringSubviewToFront:cell];

    [UIView animateWithDuration:.4f

                          delay:0

                        options:UIViewAnimationOptionAllowUserInteraction

                     animations:^{

                         

                         cell.alpha = 1;

                         //清空 transform

                         cell.transform = CGAffineTransformIdentity;

                         

                     } completion:nil];

    

}


//-----------------------------


//根据 字符串的长度、字体大小、以及宽度 返回CGRect

+(CGRect)rectHeightWithStr:(NSString *)str AndFont:(CGFloat)fontFloat WithStrWidth:(CGFloat)width;




//根据 字符串的长度、字体大小、已经高度 返回CGRect

+(CGRect)rectWidthWithStr:(NSString *)str AndFont:(CGFloat)fontFloat WithStrHeight:(CGFloat)height;



//----------实现-------------------



//根据 字符串的长度、字体大小、以及宽度 返回CGRect

+(CGRect)rectHeightWithStr:(NSString *)str AndFont:(CGFloat)fontFloat WithStrWidth:(CGFloat)width

{

    CGRect fcRect = [str boundingRectWithSize:CGSizeMake(width, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:fontFloat]} context:nil];

    return fcRect;

}


//根据 字符串的长度、字体大小、已经高度 返回CGRect

+(CGRect)rectWidthWithStr:(NSString *)str AndFont:(CGFloat)fontFloat WithStrHeight:(CGFloat)height

{

    CGRect fcRect = [str boundingRectWithSize:CGSizeMake(1000, height) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:fontFloat]} context:nil];

    return fcRect;

}








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值