У меня есть таблица с разными высотами для каждой ячейки в зависимости от размера текста.
Я вычисляю размер строки в методе делегата -tableView:heightForRowAtIndexPath
и присваиваю текст в методе источника данных -tableView:cellForRowAtIndexPath
.
Я могу понять соответствующую высоту, основываясь на тексте, но я не могу заставить текст обернуться вокруг; вместо этого он просто исчезает с экрана. Я использую приложение на основе навигации для создания табличного представления в контроллере дочернего представления с помощью пера. Я поиграл с некоторыми вариантами просмотра таблицы, но не могу сделать перенос текста. Я хотел бы видеть следующую переноску, как если бы это было текстовое представление, но я хочу, чтобы весь контент отображался в ячейке без полос прокрутки в самой ячейке таблицы. Это возможно?
Вот обновленный код, высота корректируется автоматически, но ячейка не является переносом слов ...
-
(CGFloat)tableView:(UITableView *)tableView
heightForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *string = [self.quizDictionary objectForKey:[_temp objectAtIndex:testKV]];
CGSize stringSize = [string sizeWithFont:[UIFont boldSystemFontOfSize:15]
constrainedToSize:CGSizeMake(320, 9999)
lineBreakMode:UILineBreakModeWordWrap];
return stringSize.height+25;
}
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
int row = indexPath.row;
if (row > 6) {
return nil;
}
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier]
autorelease];
}
// configure the cell...
NSString *string = [self getQuestionPart];
CGSize stringSize = [string sizeWithFont:[UIFont boldSystemFontOfSize:15] constrainedToSize:CGSizeMake(320, 9999) lineBreakMode:UILineBreakModeWordWrap];
UITextView *textV=[[UILabel alloc] initWithFrame:CGRectMake(5, 5, 290, stringSize.height+10)];
textV.font = [UIFont systemFontOfSize:15.0];
textV.text=string;
textV.textColor=[UIColor blackColor];
// textV.editable=NO;
[cell.contentView addSubview:textV];
[textV release];
testKV++;
return cell;
}