旋转按钮在uitableviewcell

时间:2012-02-10 16:58:10

标签: ios animation uitableview

我必须创建一个在每个单元格中都有旋转按钮的表。

这是我的CustomCell类动画方法

- (void)animateButton {
__block CustomCell *block_button = self;
void (^animationBlock)(void) = ^(void) {
block_button.downloadBackButton.transform = 
    CGAffineTransformMakeRotation(M_PI * 2/3);
};

[UIView animateWithDuration:3.0 
                      delay:0.0 
                    options:UIViewAnimationOptionRepeat|UIViewAnimationOptionCurveLinear
                 animations:animationBlock 
                 completion:nil];}

我的CustomTableViewController cellForRowAtIndexPath:方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"cell";

FAMasterTableCell *cell = (CustomCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil];
    cell = (CustomCell *) [nib objectAtIndex:0];
}
    [cell animateButton];
return cell;

}

问题是iPod上的表视图是不稳定的,但在iPhone 4上运行正常。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用已经与单元格关联的动画,而不是每次都添加新动画?

FAMasterTableCell *cell = (CustomCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil];
    cell = (CustomCell *) [nib objectAtIndex:0];
    [cell animateButton];
}
return cell;

您可能还想考虑使用CAAnimations而不是使用UIView动画。我相信动画图层而不是视图可以提高性能。