Контролировать скорость анимации uitableview insertRowsAtIndexPath - PullRequest
6 голосов
/ 27 марта 2012

Я использовал insertRowsAtIndexPath вместо reloadData.При первой загрузке анимация слишком быстрая, поскольку число строк велико.

Можно ли управлять скоростью анимации insertRowsAtIndexPath?

Спасибо.

Ответы [ 3 ]

0 голосов
/ 01 июня 2012

Абсолютно не проверено, но вы можете попробовать это для пятисекундной анимации:

[UIView animateWithDuration:5. animations:^(void){
    [_tableView insertRowsAtIndexPath:... animated:NO];
}];
0 голосов
/ 12 декабря 2013

Переопределите insertRowsAtIndexPaths и добавьте пользовательскую анимацию по своему усмотрению с задержкой.

- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:   (UITableViewRowAnimation)animation

 {

for (NSIndexPath *indexPath in indexPaths)
{
    UITableViewCell *cell = [self cellForRowAtIndexPath:indexPath];

    [cell setFrame:CGRectMake(320, cell.frame.origin.y, cell.frame.size.width, cell.frame.size.height)];

    [UIView beginAnimations:NULL context:nil];
    [UIView setAnimationDuration:1];
    [cell setFrame:CGRectMake(0, cell.frame.origin.y, cell.frame.size.width, cell.frame.size.height)];
    [UIView commitAnimations];
}
}
0 голосов
/ 01 июня 2012

Я думаю, что невозможно управлять скоростью анимации.

Возможно, вы можете использовать scrollToRowAtIndesPath вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...