Итак, у меня есть настройка моего представления в IB, так что эта текстовая метка выравнивается с вершиной миниатюры с помощью ограничений.
Однако, как мы знаем, вы не можете вертикально выравнивать текст в UILabel. В моем тексте обновляется размер шрифта в зависимости от длины содержимого. Полноразмерный текст выглядит великолепно, в то время как небольшой текст значительно ниже на экране.
существующее решение включает либо вызов sizeToFit, либо обновление фрейма uilabel в соответствии с высотой текста. К сожалению, последнее (хотя и уродливое) решение плохо работает с ограничениями, когда вы не должны обновлять фрейм. Первое решение в основном не работает, когда вам нужно иметь автозапуск текста, пока он не обрезается. (Таким образом, он не работает с ограниченным числом строк и автозагрузкой).
Теперь о том, почему внутренний размер (высота) uilabel не обновляется, как это делает ширина, когда он устанавливает для него естественный размер с помощью "Размер, соответствующий содержанию", находится вне меня. Похоже, это определенно должно, но это не так.
Поэтому мне осталось искать альтернативные решения. Насколько я вижу, вам может потребоваться установить ограничение высоты на метке и отрегулировать константу высоты после вычисления высоты текста. У кого-нибудь есть хорошее решение?