UILabel показывает только первую строку текста, несмотря на то, что я установил label.numberOfLines = 0 - PullRequest
2 голосов
/ 13 января 2012

Я создал пользовательский UITableViewCell.

@interface AnswerCell : UITableViewCell
@property (nonatomic, retain) IBOutlet UILabel *textLabel;
@property (nonatomic, retain) IBOutlet UILabel *detailTextLabel;
@end

и установите detailTextLabel.numberOfLines = 0;

        cell = [tableView dequeueReusableCellWithIdentifier:kAnswerIdentifier];
        if (cell == nil)
        {
            [[NSBundle mainBundle] loadNibNamed:@"AnswerCell" owner:self options:nil];
            cell=answerCell;
        }            

        cell.detailTextLabel.text = [self extractText:indexPath forLabelAttribute:kDetailTextLabel];
        cell.detailTextLabel.font = [self extractFont:indexPath forLabelAttribute:kDetailTextLabel];
        cell.detailTextLabel.lineBreakMode = UILineBreakModeWordWrap;
        cell.detailTextLabel.numberOfLines = 0;

UILabel показывает только первую строку текста. Но почему?

ОБНОВЛЕНИЕ: высота моего detailTextLabel = 21. Что мне нужно сделать? Нужно ли менять высоту = 1000?

Ответы [ 3 ]

4 голосов
/ 13 января 2012

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

См. Ответ для Отрегулируйте высоту UILabel в зависимости от текста

1 голос
/ 13 января 2012

Если у вас есть ширина метки, получите размер строки, который потребуется для отображения строки, используя следующий метод,

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size

И установите размер метки.*

Документацию Apple можно посмотреть здесь.

1 голос
/ 13 января 2012

Вам нужно изменить размер UILabel .. рассчитайте его высоту, используя -

[contentsStr sizeWithFont:[UIFont fontWithName:@"Helvetica" size:17.0f] 

, а затем измените его размер соответственно

вам может понадобиться изменить шрифт и его размер

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