[self.Review sizeToFit];
Результат перед sizeToFit:
NSStringFromCGRect(self.Review.frame): {{90, 20}, {198, 63}}
Результат После sizeToFit:
NSStringFromCGRect(self.Review.frame): {{90, 20}, {181, 45}}
Я хочу, чтобы ширина осталась прежней. Я просто хочу изменить высоту. Автомастер
(lldb) po self.Review
(UILabel *) $1 = 0x08bb0fe0 <UILabel: 0x8bb0fe0; frame = (90 20; 181 45); text = 'I'm at Mal Taman Anggrek ...'; clipsToBounds = YES; opaque = NO; autoresize = LM+RM+H; userInteractionEnabled = NO; layer = <CALayer: 0x8bb68b0>>
Я знаю, что есть способ сделать это с помощью: Как настроить и сделать ширину UILabel в соответствии с размером текста?
Ответы либо странные (нам нужно пополнить информацию о шрифте). Или неясно.
Вам также необходимо определить максимальную ширину и сообщить своей программе что делать, если sizeToFit дает вам ширину больше этого максимума.
Я использую странное решение использования sizeWithFont
. Странно, потому что UILabel уже знает шрифт в ярлыке.
Вообще-то, как ведет себя режим sizeToFit? Как он решает, нужен ли нам более тонкий или более высокий UILabel?