2013-03-03 3 views
0

У меня есть таблица с ячейкой прототипа. Мой проект использует автоматическую компоновку.Динамически меняйте размер метки и ячейки по длине текста

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

Что бы я хотел изменить динамический размер ярлыка/ячейки, чтобы отобразить весь текст. При необходимости добавьте больше строк автоматически.

Я пробовал ярлык sizetofit, он просто ничего не делает.

ответ

2

Вот решение.

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSString *cellText; 
    CGRect screenBound = [[UIScreen mainScreen] bounds]; 
    CGSize screenSize = screenBound.size; 
    CGFloat screenWidth = screenSize.width; 
    cellText = [detailPeriodsContent objectAtIndex:indexPath.row]; 
    UIFont *cellFont = [UIFont systemFontOfSize:14]; 
    CGSize constraintSize = CGSizeMake(screenWidth-40, MAXFLOAT); 
    CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap]; 

    return labelSize.height + 35; 
} 
Смежные вопросы