Разделитель UITableViewCell не отображается - PullRequest
29 голосов
/ 30 августа 2010

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

Случалось ли это с кем-то из вас раньше?Что дает?

Спасибо!

Ответы [ 8 ]

53 голосов
/ 26 января 2016

Просто напоследок, хотя это старый пост:

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

Измените это, перейдя в Window-> Scale-> 100%

51 голосов
/ 30 августа 2010

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

26 голосов
/ 19 октября 2012

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

2 голосов
/ 26 сентября 2013

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

tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

1 голос
/ 30 августа 2010

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

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

0 голосов
/ 08 июля 2016

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

0 голосов
/ 21 февраля 2016

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

до cell.contentView и НЕ до cell

[cell.contentView addSubview:subview];
0 голосов
/ 15 мая 2015

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

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

У меня ушло очень много времени, чтобы найти это ...

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

Если честно, я удивлен, что единственный заметный артефакт этогоОшибка заключалась в том, что разделители отсутствовали.Кроме этого UITableView по-прежнему функционировал нормально?

...