2013-10-10 4 views
5

После выбора UITableViewCell я называюКак определить, когда анимация завершается на UITableViewCell отменить ряд

[tableView deselectRowAtIndexPath:indexPath animated:YES]

внутри tableView:didSelectRowAtIndexPath:

Это отображает анимацию Отмена выбора. Я хотел бы знать, есть ли способ обнаружить, когда эта анимация завершена.

+2

Я хотел бы попробовать оборачивать это заявление в 'CATransaction' с блоком завершения, как описано в [этот вопрос] (http://stackoverflow.com/questions/3832474/uitableview-row-animation-duration-and -пополнение обратного вызов). –

ответ

8
[CATransaction begin]; 

[tableView beginUpdates]; 

[CATransaction setCompletionBlock: ^{ 

    NSLog(@"Completion code here"); 

}]; 

[tableView deselectRowAtIndexPath:indexPath animated:YES]; 
[tableView endUpdates]; 

[CATransaction commit]; 
+2

Спасибо за ответ. FYI будущим зрителям - я не считаю, что вызовы 'beginUpdates' и' endUpdates' строго необходимы в этом конкретном примере. Эти методы используются для группировки нескольких действий в одной анимации, но так как в этом примере есть только одно действие выбора, вы также можете оставить их здесь. – Matt

Смежные вопросы