Как отобразить несколько строк в ячейке tableView - PullRequest
5 голосов
/ 23 сентября 2010

У меня есть несколько длинных строк, которые усекаются при отображении в ячейке tablView. Я сделал это, чтобы расширить представление таблицы:

tableView.rowHeight = 100;

Как сделать шрифт меньше, а также обернуть текст в ячейку табличного представления?

Ответы [ 3 ]

14 голосов
/ 23 сентября 2010

В tableView:cellForRowAtIndexPath: вы можете установить несколько свойств для textLabel (или descriptionLabel, в зависимости от того, какой стиль ячейки вы используете), чтобы сделать это. Установите font, чтобы изменить шрифт, linkBreakMode, чтобы сделать его переносом слов, и numberOfLines, чтобы установить максимальное количество строк (после которого он усекается. Вы можете установить его на 0, если не максимум.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell* aCell = [tableView dequeueReusableCellWithIdentifier:kMyCellID];
    if( aCell == nil ) {
        aCell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kMyCellID] autorelease];

        aCell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:10.0];
        aCell.textLabel.lineBreakMode = NSLineBreakByWordWrapping; // Pre-iOS6 use UILineBreakModeWordWrap
        aCell.textLabel.numberOfLines = 2;  // 0 means no max.
    }

    // ... Your other cell setup stuff here

    return aCell;
}
2 голосов
/ 04 сентября 2012
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell* Cell = [tableView dequeueReusableCellWithIdentifier:kMyCellID];
    if( Cell == nil ) {
        Cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kMyCellID] autorelease];

       Cell.textLabel.font = [UIFont fontWithName:@"TimesNewRoman" size:10.0];
       Cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
       Cell.textLabel.numberOfLines = 2;  // 0 means no max.
    }

  // your code here

    return Cell;
}
0 голосов
/ 23 сентября 2010

Вы должны создать подкласс UITableViewCell и сделать так, чтобы он имел UITextView вместо UITextField.Затем назначьте свой подкласс вашему UITableView.

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