Добавьте дополнительную «скрытую» строку в раздел, в который вы хотите добавить разделитель, возвращая +1
существующее количество строк в tableView:numberOfRowsInSection:
.Затем добавьте следующий метод:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if ( indexPath.section == sectionOfHiddenRow && indexPath.row == indexOfHiddenRow )
return 0.f;
else
return [super tableView:tableView heightForRowAtIndexPath:indexPath];
}
Если вы хотите разделитель в верхней части раздела (после заголовка), indexOfHiddenRow
будет 0
.Если вы хотите, чтобы оно было внизу раздела (перед нижним колонтитулом), оно будет [self tableView:tableView numberOfRowsInSection:sectionOfHiddenRow] - 1
.
Теперь внутри tableView:cellForRowAtIndexPath:
, просто верните [UITableViewCell new]
для скрытой строки (она не будет отображаться, поэтому нет необходимости устанавливать рамку или что-нибудь).Возможно, вам придется внести некоторые -1
корректировки индекса в ваши методы UITableViewDataSource
и UITableViewDelegate
, но это работает (протестировано в iOS 7), и гарантирует согласованный стиль (не нужно рисовать свой собственный "поддельный "разделитель - это настоящий нарисованный системой UITableView
разделитель).