gpt4 book ai didi

ios - UITableView WillDisplayCell 方法在特定时间后调用?

转载 作者:行者123 更新时间:2023-11-29 00:13:31 28 4
gpt4 key购买 nike

我正在尝试将动画放在 UITableViewCell 的底部到顶部,该代码可以正常工作:

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


cell.alpha =0.0;

UIView *cellContentView = [cell contentView];
CGFloat rotationAngleDegrees = -30;
CGFloat rotationAngleRadians = rotationAngleDegrees * (M_PI/180);
CGPoint offsetPositioning = CGPointMake(0, cell.contentView.frame.size.height*4);
CATransform3D transform = CATransform3DIdentity;
transform = CATransform3DRotate(transform, rotationAngleRadians, -50.0, 0.0, 1.0);
transform = CATransform3DTranslate(transform, offsetPositioning.x, offsetPositioning.y, -50.0);
cellContentView.layer.transform = transform;
cellContentView.layer.opacity = 0.8;

[UIView animateWithDuration:3.0 delay:indexPath.row+3 usingSpringWithDamping:0.85 initialSpringVelocity:0.8 options:UIViewAnimationOptionCurveEaseInOut animations:^{
cellContentView.layer.transform = CATransform3DIdentity;
cellContentView.layer.opacity = 1;
cell.alpha=1.0;

} completion:^(BOOL finished) {

}];

在这里,我想以 2 或 3 秒的间隔逐个显示每个单元格。目前 Cell 会快速显示。提前致谢。

最佳答案

我按照@PhaniRaghu 给出的想法解决了这个问题,我对他的回答做了一些修改,效果很好。

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, indexPath.row * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
[UIView animateWithDuration:3.0
delay:indexPath.row
usingSpringWithDamping:0.85
initialSpringVelocity:0.8
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
cellContentView.layer.transform = CATransform3DIdentity;
cellContentView.layer.opacity = 1;
cell.alpha=1.0;
} completion:^(BOOL finished) {
}];
});

关于ios - UITableView WillDisplayCell 方法在特定时间后调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45790433/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com