Я пытаюсь вычислить высоту для UITableViewCell, поэтому я определил метод класса, который выглядит как этотUILabel sizeThatFits не работает
+ (CGFloat)heightWithText:(NSString *)text
{
SizingLabel.text = text;
[SizingLabel sizeThatFits:CGSizeMake(LABEL_WIDTH, CGFLOAT_MAX)];
return (TOP_MARGIN + SizingLabel.frame.size.height + BOTTOM_MARGIN);
}
Я определил SizingLabel как это:
+ (void)initialize
{
SizingLabel = [[UILabel alloc] initWithFrame:CGRectZero];
SizingLabel.numberOfLines = 0;
SizingLabel.lineBreakMode = NSLineBreakByWordWrapping;
}
Однако, если я придерживаюсь точки останова в методе -heightWithText:, я замечаю, что размеры SizingLabel никогда не меняются, и поэтому я получаю неправильное значение. Почему это?
- (CGSize) sizeThatFits: возвращает размер, в котором текст получить пригодный для вашей этикетки. – OMK
ahh ok это действительно не изменяет размер этикетки? –
Да, он просто возвращает вам размер. – OMK