2015-07-15 3 views
6

У меня есть UIViewController с UITableView внутри UINavigationController.
Когда я прячу панель навигации сПредотвращение компоновки UITableViewCell во время анимации

[self.navigationController setNavigationBarHidden:YES animated:YES]; 

табличное изменяет размер и новая ячейка отображается в нижней части. Эта компоновка ячеек представляет собой подземелья внутри анимации, которая скрывает панель навигации.

Cell Animation

Есть ли способ, чтобы исключить расположение ячейки от анимации?

ответ

6

Вы можете предотвратить клетку от анимировать путем реализации метода UITableViewDelegate tableView:willDisplayCell:forRowAtIndexPath: как таковой:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    [UIView performWithoutAnimation:^{ 
     [cell layoutIfNeeded]; 
    }]; 
} 
+0

Спасибо! Он отлично работал для всего, кроме индикатора раскрытия информации. Использование 'performWithoutAnimation:' around' cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 'исправлено также. – Jochen

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