Мне нужно создать таблицу, в которой есть вращающаяся кнопка в каждой ячейке.вращающаяся кнопка в uitableviewcell
Вот мой класс 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 4s.
Любые предложения?
Анимации UIView не должны быть намного медленнее, чем прямые CABasicAnimations. UIViews - это просто облегченные обертки вокруг CALayers, и я заметил незначительную разницу в производительности в анимации одного и другого в моих тестах даже на самом старом iOS-оборудовании. –
Очень хорошая информация, я не понимал, что это просто облегченные обертки. –
Да, это не похоже на NSViews на Mac, у которых намного больше багажа. Одна из первых вещей, которые я делал в бета-версии iPhone SDK, - это посмотреть на производительность UIView, и она была очень впечатлена. Я делаю некоторые вещи в сырых CALayers, но в основном это для кросс-платформенного кода Mac/iOS (как в Core Plot). UIKit был четко построен с Core Animation как одна из его основ. –