Я пытаюсь создать пользовательский контейнерный вид с UIImageView и многострочным UILabel в качестве подзонов. Чтобы сделать представление хорошо работающим с автозапуском, я переопределяю intrinsicContentSize, как показано ниже:
- (CGSize)intrinsicContentSize
{
return [self sizeThatFits:self.bounds.size];
}
Размер, рассчитанный в sizeThatFits, имеет одинаковую ширину и регулирует высоту, чтобы метки и изображение не были обрезаны. Это хорошо работает, но я был удивлен, увидев в документах следующий комментарий:
Этот внутренний размер должен быть независим от кадра содержимого, потому что нет возможности динамически связывать измененную ширину с системой макета на основе измененной высоты, например.
Если это так, то каков способ автоопределения для корректировки текущей высоты просмотров в зависимости от ее ширины и содержимого? Должен ли я приближаться к этому по-другому?