2013-12-14 7 views
2

Я разрабатываю приложение iOS, чтобы показать информацию о моих друзьях в Facebook в UITableView, и у меня проблема. Я использую пользовательскую ячейку с 2 UILables (Field и описание):UILabel внутри UITableViewCell - отключает информацию

enter image description here

В ярлыке поля я установить категорию информации, как образование, работа и т.д. В описании ярлыка я установил соответствующую информацию :

enter image description here

Моя проблема заключается в том, что этикетка не соответствует размеру информации и отрезает часть его как можно увидеть выше. Я устал искать решение, и ничего не нашел. Я уже пытался реализовать код, который находится в этом ответе (Adjust UILabel height depending on the text) и не работает!

Любое предложение? Tks

+0

, что ответ на ваш вопрос выглядит многообещающим, pls отправляют код, который вы пытались. альтернативой будет UITextField. Однако вид тяжеловеса. – danh

ответ

1

UILabels - это хорошо, но почему бы вам не использовать UITextView? Вы можете использовать \ n в textView, я вижу, что у вас большой текст в ярлыке, это не очень хорошее решение для масштабирования размера шрифта в зависимости от вашего размера текста. Просто добавьте textView в свою настраиваемую ячейку, отключите взаимодействие с пользователем, установите для редактирования значение НЕТ, и все готово. Вы также можете использовать этот код для изменения высоты ячейки, в зависимости от размера текста:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    //Load text in NSString which you want in Cell's textView. 
    NSString *cellText; 

    cellText = @"Insert your text here"; 

    //define font for textView... 
    UIFont *cellFont = [UIFont fontWithName:@"Georgia" size:19.0];//change your font here 

    CGSize constraintSize = CGSizeMake(330.0f, MAXFLOAT); 

    CGSize labelSize_val = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping]; 

    return labelSize_val.height + 20; 
} 
0

Ответ, который вы нашли на Adjust UILabel height depending on the text, является хорошим началом.

Кроме того убедитесь, что вы установили высоту строки с: https://developer.apple.com/Library/ios/documentation/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UITableViewDelegate/tableView:heightForRowAtIndexPath:

Другая область, чтобы быть осторожными являются настройки AUTORESIZE вашего UILabel.

Смежные вопросы