Как создать собственный переход редактирования UITableViewCell?

У меня есть собственный UITableViewCell, в котором есть изображение и текст. При входе в режим редактирования я хотел бы, чтобы изображение исчезало и перемещалось за пределы экрана влево. Когда и как мне реализовать этот код? Я попытался поместить блок анимации в willTransitionToState: но изображение просто прыгает за пределы экрана без анимации.


person Kyle Decot    schedule 25.03.2010    source источник


Ответы (1)


Переопределите setEditing:animated:, чтобы делать такие вещи. Убедитесь, что вы не анимируете, если animated равно NO. Вот так:

if( animated ) {
    [UIView beginAnimations:@"EnterEditingMode" context:NULL];
    // Set up duration, etc here
}

if( editing ) {
    // do animation
} else {
    // reverse animation
}

if( animated ) {
    [UIView commitAnimations];
}
person Steven Canfield    schedule 25.03.2010
comment
Как сделать так, чтобы этот код не выполнялся сразу, когда ячейка создается и отображается на экране? Он выполняется сразу, как только ячейки становятся видимыми. - person Kyle Decot; 25.03.2010
comment
Разве это не выполняется с editing=NO и animated=NO? Что должно быть вашим состоянием по умолчанию. Проверьте свою логику. - person Steven Canfield; 25.03.2010