Высота строки UITableView не рисует выше текста - PullRequest
0 голосов
/ 15 апреля 2011

Я пытаюсь имитировать адресную ячейку в Адресной книге / приложении контактов.

Я хочу, чтобы ячейка со стилем UITableViewCellStyleValue2 отображала адрес, такой как:

// 123 Fake St.
// Suite 555
// Denver CO, 80000

Но настоящая клетка рисует не так, как я хочу.Метка рисуется вне границ строки табличного представления, и часть вершины метки обрезается рядом непосредственно над ней.

Вот что у меня есть:

cell.detailTextLabel.lineBreakMode = UILineBreakModeWordWrap;
cell.autoresizingMask = UIViewAutoresizingFlexibleHeight; //doesn't seem to do anything
self.tableView.rowHeight = 88.0f; // default is 44.0
cell.detailTextLabel.numberOfLines = 0; //unlimited lines

Оператор NSLog подтвердил, что для rowHeight установлено значение 88.0.

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

Спасибо за вашу помощь.

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Я не думаю, что установка высоты строки таким образом (self.tableView.rowHeight = 88.0f;) для отдельной строки будет работать.Вы должны реализовать метод делегата, который в вашем случае очень прост, т.е.

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return ([indexPath row] == MY_TALLER_CELL_ROW) ? 88.0f : 44.0f;
}
0 голосов
/ 15 апреля 2011

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

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