Я знаю, что этот вопрос задавали раньше. Но ни один человек в Интернете не имел достаточного рабочего ответа.
РЕДАКТИРОВАТЬ. Очевидно, люди больше не читают вопросы, на SO. Поэтому я пытаюсь уточнить: я хочу удалить СЕПАРАТОР. Сепаратор не является ни пространством над секцией, ни tableViewHeader или tableViewFooterView. Это только тонкая линия выше (полностью слева направо).
У меня есть сгруппированный UITableView (я не хочу использовать простой стиль по многим другим причинам, возьмите его как есть), который имеет несколько групп.
В первом разделе не должно быть линии разделителя сверху. Установка стиля разделителя таблицыView не является вариантом, потому что мне нужны другие разделители.
Настройка tableViews tableFooterView - это то, что я часто читаю, но он никогда не работал.
Я использовал tableView со статическим содержимым раньше, и мне удалось удалить разделитель в -[UITableViewController viewDidLoad], используя это:
- (void)viewDidLoad {
[[[self headerTableCell] valueForKey:@"_topSeparatorView"] removeFromSuperView];
}
Так как теперь мне пришлось изменить tableView на динамический, свойство IBOutlet больше не будет работать (очевидно).
Итак, я пробовал все, -[id tableView:willDisplayCell:atIndexPath:], -[UITableViewCell initWithStyle:reuseIdentifier:, prepareForReuse, awakeFromNib] и некоторые другие.
В любом случае этот разделитель равен нулю. Поэтому мне нужен метод, который вызывается, когда настраивается полная иерархия представления ячейки.