Подтвердить что ты не робот

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

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

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

Спасибо!

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

в моем случае я должен установить свойство separatorStyle таблицыView

tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

Ответ 5

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

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

Ответ 6

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

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

Мне очень понравилось...

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

Честно говоря, я удивлен, что единственным заметным артефактом этой ошибки было то, что разделители отсутствовали. Кроме того, UITableView все еще функционировал нормально?

Ответ 7

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

до cell.contentView, а не к ячейке

[cell.contentView addSubview:subview];

Ответ 8

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