UILabel с текстом constrainedToSize возвращает неправильную высоту - PullRequest
2 голосов
/ 18 января 2012

Я прочитал много вопросов по этой теме, но не могу понять, что не так с моим кодом:

UILabel *nameLabel = [[UILabel alloc] init];
[nameLabel setText: _nameString];

nameLabel.textAlignment    = UITextAlignmentLeft;
nameLabel.contentMode      = UIViewContentModeTop;
nameLabel.lineBreakMode    = UILineBreakModeWordWrap;
nameLabel.numberOfLines    = 0;
nameLabel.font             = [UIFont fontWithName:@"Verdana" size:14];
nameLabel.backgroundColor  = [UIColor clearColor];
nameLabel.textColor        = [UIColor colorWithRed:0 green:0.282 blue:0.31 alpha:1];
nameLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth;

CGSize maximumLabelSize  = CGSizeMake(200.0f, 60.0f);
CGSize expectedLabelSize = [_nameString sizeWithFont:nameLabel.font
                                   constrainedToSize:maximumLabelSize 
                                       lineBreakMode:nameLabel.lineBreakMode];

nameLabel.frame = CGRectMake(10, 10, expectedLabelSize.width, expectedLabelSize.height);

И хотя иногда он работает (для больших текстов) над текстами, такими как "Самолеты - будущее", expectedLabelSize возвращает высоту 18.0f и сокращает предложение "Самолеты как"

Что я здесь не так делаю?

1 Ответ

1 голос
/ 19 января 2012

Однажды у меня была такая же проблема, потому что ширина моей метки была меньше максимальной ширины метки ват, которую я использовал для вычисления «ожидаемого размера метки».

Так как вы используете авторазмерную маску, ваша метка может быть слишкоммаленький.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...