Как динамически сделать строку UITableView такой же ширины, как метка в ней? - PullRequest
0 голосов
/ 14 ноября 2011

У меня есть UITableView, где каждая строка может иметь метку в любом месте от без строк до любого количества строк (реально 3-4).Я хочу, чтобы строка была расширена на основе содержимого UILabelView.

Пока у меня есть это:

- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    CGFloat  height        = 60.0;

UIFont *font        = [UIFont fontWithName:@"Helvetica-BoldOblique" size:10.0];
NSString *text      = reminder.notes; //the text that will be in the UiLabelView
CGFloat notesHeight = [text sizeWithFont:font
                               constrainedToSize:CGSizeMake(250.0, 4000.0)
                                   lineBreakMode:UILineBreakModeTailTruncation].height;

height += notesHeight;

return height;

}

Я все еще получаю странные результаты.Что я могу сделать, чтобы достичь своей цели?

Спасибо

1 Ответ

1 голос
/ 14 ноября 2011

вы используете UILineBreakModeTailTruncation в качестве lineBreakMode, который всегда будет приводить к одной строке, а sizeWithFont:constrainedToSize:lineBreakMode: вернет необходимый размер этой отдельной строки.

Вместо этого попробуйте UILineBreakModeWordWrap.

edit: Я надеюсь, что для свойства numberOfLines UILabel установлено значение 0 (ноль), поэтомучто ваш ярлык может рисовать много линий.

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