AutoLayout uitableviewcell в альбомной ориентации и на iPad для расчета высоты на основе портретного iPhone

Я учусь / экспериментирую с autolayout иUITableViewCell«S. Несколько дней назад я задал другой вопрос, на который я ответил на свой вопрос, я все еще использую те же ограничения / код. Полный код смотрите здесь:AutoLayout multiline UILabel обрезает текст .

Оборвать его внутрьheightForRowAtIndexPath Я использую экземпляр кастомаUITableViewCell чтобы вычислить высоту, строка должна быть. Это прекрасно работает в портретной, однако, когда я переключаюсь в ландшафтный режим,systemLayoutSizeFittingSize возвращает ту же высоту для ячейки, как если бы она была в портретной. Я распечатал кадрыcontentView и ярлыки и ничего вроде не обновляет.

Результатом этого являются ограничения, заставляющие метки расти, оставляя огромное количество пустого пространства. Метки отображаются с правильной шириной, в альбомной ориентации они расположены так, как я и ожидал. Если я жестко закодирую высоту ячейки, она отлично работает.

Это выглядит так:

После жесткого кодирования (как я хочу, чтобы это выглядело):

Еще хуже, я получаю тот же результат при работе на iPad, даже в портретном режиме, то есть я получаю размеры iPhone. Из того, что я вижу, это как будтоsystemLayoutSizeFittingSize не имеет понятия ориентации или устройства в этом отношении.

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

Я пропустил что-то основное?

Ответы на вопрос(2)

Ваш ответ на вопрос