多个iOS动画仅适用于第一个视图

时间:2012-09-16 15:46:35

标签: ios uiviewanimation

我对iOS动画有一个奇怪的动画问题。 我试图动画从底部到顶部UITableView单元格移动。 但动画仅适用于第一个单元格。所有其他单元格保持在它们的位置(在表格底部)(尽管报告框架已更改)。

有什么想法吗?这是我的代码:

- (float)runCellAnimations {
    NSTimeInterval animationDelay = 0.0;
    NSArray *cells = [tableView visibleCells];

    for (GTMapLocationCell *cell in cells) {

        CGPoint origin = cell.origin;
        cell.origin = CGPointMake(cell.origin.x, CGRectGetHeight(tableView.bounds));

        [UIView beginAnimations:@"Cell Location" context:NULL];
        [UIView setAnimationDuration:GT_CELL_ANIMATION_DURATION];
        [UIView setAnimationDelay:animationDelay];
        cell.origin = origin;
        [UIView commitAnimations];
        animationDelay += GT_CELL_ANIMATION_INTERVAL;

    }

    return (animationDelay-GT_CELL_ANIMATION_INTERVAL)+GT_CELL_ANIMATION_DURATION;
}

1 个答案:

答案 0 :(得分:0)

尝试在for循环之前调用[UIView beginAnimations:]和动画设置器方法,并在for循环的范围之后调用[UIView commitAnimations]方法。

我们的建议只是对每个单元格进行更改,但只执行一个动画。