У меня есть пользовательская ячейка представления таблицы, которая использует автоматическую компоновку и имеет индикатор раскрытия в качестве вспомогательного представления. Размер ячейки ячеек на экране совершенно неверен при первом отображении:
Как видите, ячейка занимает примерно 1,5 экрана:

Однако, если я поверну устройство и поверну обратно, оно выглядит нормально:

Как видите, ничего сложного я не сделал:

У меня есть очень НЕ ИДЕАЛЬНЫЙ обходной путь, который нужно сделать:
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self.tableView reloadData];
}
Но это, очевидно, вызывает «вспышку», когда вы впервые видите экран. В более сложном сценарии вспышка гораздо более очевидна.
У меня есть другой обходной путь, но это вызывает исключение автоматического макета:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
BasicCell *cell = [tableView dequeueReusableCellWithIdentifier:@"BasicCell" forIndexPath:indexPath];
cell.basicLabel.text = @"Hello this is just some text that should get the label to go over multiple lines";
[cell.basicLabel layoutIfNeeded];
return cell;
}
Исключение:

По крайней мере, этот метод не дает мне мигать пользовательский интерфейс.
Если я удалю дополнительный вид, он действительно работает отлично.
ОБНОВЛЕНИЕ: я добавил образец проекта в github: https://github.com/fwaddle/TableCellAccessoryTest
ОБНОВЛЕНИЕ № 2: Оказывается, еще один способ обойти эту ошибку — разместить ячейку в коде. Я только что попытался сделать то же самое в коде, и он не выдал предупреждение и работал нормально. Похоже на баг ИБ.
Любые идеи, как обойти эту проблему? Спасибо.
rowHeightв табличном представлении значениеUITableViewAutomaticDimension. Также это не исключение, это предупреждение о неправильной настройке. Неперехваченное исключение завершит ваше приложение. - person Michael   schedule 08.05.2015estimatedRowHeight, у меня была эта проблема, и когда я увеличил это значение, все сработало отлично. - person Michael   schedule 08.05.2015estimatedRowheightне дало эффекта. Я загрузил пример проекта на github и обновил приведенную выше ссылку. - person Mof   schedule 08.05.2015