1

我对 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;
}
4

1 回答 1

0

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

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

于 2012-09-16T16:02:30.577 回答