UITableViewRowAnimation自定义动画

时间:2012-07-17 01:47:04

标签: objective-c ios cocoa-touch uitableview

我知道有默认的UITableViewRowAnimation选项,但有没有办法创建自己的动画?如果是这样,他们的教程是关于这个吗?

我希望我的单元格向用户缩放,然后飞离屏幕。

我似乎无法对此发现太多......

1 个答案:

答案 0 :(得分:0)

一种方法是在willDisplayCell中,您可以访问UIView / CAAnimation API。例如:

- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{   
    //1. Define the initial state (Before the animation)
    cell.layer.shadowColor = [[UIColor blackColor]CGColor];
    cell.layer.shadowOffset = CGSizeMake(10, 10);
    cell.alpha = 0;
    cell.transform = CGAffineTransformMakeScale(0.85, 0.85);

    //2. Define the final state (After the animation) and commit the animation
    [UIView beginAnimations:@"scale" context:NULL];
    [UIView setAnimationDuration:0.5];
    cell.transform = CGAffineTransformIdentity;
    cell.alpha = 1;
    cell.layer.shadowOffset = CGSizeMake(0, 0);
    [UIView commitAnimations];
}

这是一个简单的缩放',阴影和alpha-in应用于单元格。当桌子滚动时,细胞会缩小并变得不透明。你可以在这里做任何你想做的事。