我必须创建一个在每个单元格中都有旋转按钮的表。
这是我的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上运行正常。
有什么建议吗?
答案 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动画。我相信动画图层而不是视图可以提高性能。