2014-10-29 3 views
2

У меня есть UITableView с пользовательскими ячейками. Когда я поворачиваю устройство, видимые ячейки не изменяются. Прокрутка к новым ячейкам отлично работает, и когда я прокручиваю назад, все хорошо, но есть ли способ заставить начальные, видимые ячейки плавно изменять размер при вращении?Видимый UITableViewCells не изменяет размер при повороте

[self.tableview reloadData] от UITableViewController; работает, но я не думаю, что это оптимальное решение, так как для этого требуется сетевой вызов для извлечения данных.

Я уже вызываю следующий код из UITableViewController, чтобы разместить некоторые слои градиента, которые я использую, но это не делает ничего, чтобы изменить размер ImageView.

-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation 
{ 
    for (ProjectCell *cell in [[self.tableView.subviews firstObject] subviews]) { 
     cell.laidOut = NO; 
     [cell layoutSubviews]; 
    } 
} 

Благодаря

ответ

4

Я считаю, что это будет делать то, что вы хотите:

[self.tableView beginUpdates]; 
[self.tableView reloadRowsAtIndexPaths:[self.tableView indexPathsForVisibleRows] withRowAnimation:UITableViewRowAnimationAutomatic]; 
[self.tableView endUpdates]; 

Пока клетки, которые вы хотите, чтобы перезарядить являются видимые ячейки.

+1

Спасибо. Это дает мне ошибку, как указано выше, но если я использую [self.tableView indexPathsForVisibleRows] вместо [NSArray arrayWithObjects: self.tableView.indexPathsForVisibleRows, ноль], по какой-то причине ошибка исчезает. Спасибо за решение. – turkeyhundt

+0

отлично, ответ исправлен –

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