Разделитель UITableViewCell не отображается

Я сделал пользовательский UITableViewCell В IB, но по какой-то причине, несмотря на выбор однострочной опции для разделителя, в моей таблице нет разделительных строк.

Это случалось с кем-нибудь из вас раньше? Что происходит?

спасибо!

8 ответов


является UITableViewCell В IB, связанный с подклассом UITableViewCell, который переопределяет drawRect:? Если это так, убедитесь, что вы вызываете супер-реализацию, так как это то, что рисует линию внизу. Если вы переопределяете layoutSubviews убедитесь, что никакие представления не скрывают нижнюю часть ячейки.


просто голова вверх, хотя это старый пост:

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

измените это, перейдя в окно - > масштаб - >100%


в моем случае я забыл вызвать [super layoutSubviews] после переопределения метода layoutSubviews. Мне потребовалось два часа, чтобы найти проблему.


в моем случае я должен установить свойство separatorStyle tableView

tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;


нашел separatorStyle на ссылка на класс UITableView. Он говорит, что добавит separatorStyle в ячейку, возвращаемую методом delegate,tableView: cellForRowAtIndex:.

Итак, я думаю, вы должны изменить свойство style в экземпляре UITableView.


возможно, маловероятный случай, но есть еще одна возможная причина.

у меня есть обычай UITableView называется AddressBookTableView и он включен в a .XIB для одного из моих контроллеров просмотра. Я заметил, что он был добавлен как UIView элемент с пользовательским классом, указанным как AddressBookTableView. Я удалил этот элемент и добавил UITableView элемент, вместо которого класс I снова указан как AddressBookTableView и разделители волшебным образом появился!

мне потребовалось очень много времени, чтобы найти это...

убедитесь, что ваш заказ UITableView .XIB элементы действительно пользовательские UITableView элементы не переименовали UIView элементы.


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

to ячейки.странице просмотр содержимого, а не ячейка

[cell.contentView addSubview:subview];

для тех, кто это видит: моя проблема заключалась в том, что у меня было несколько разделов, и первая ячейка в каждом разделе не имела разделителя. В моем представлении таблицы я перезаписал функцию heightForHeader (возвращая 0). Удаление этого исправило проблему.