#objective-c #ios #uitableview
#objective-c #iOS #uitableview
Вопрос:
У меня есть 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:
вы используете UILineBreakModeTailTruncation
as lineBreakMode, который всегда приводит к одной строке и sizeWithFont:constrainedToSize:lineBreakMode:
затем возвращает необходимый размер этой единственной строки.
Попробуйте UILineBreakModeWordWrap
вместо этого.
редактировать: надеюсь, вы установили для numberOfLines
свойства a UILabel
значение 0
(ноль), чтобы ваша надпись могла рисовать много линий.