Есть ли способ удалить разделительную линию из UITableView?

Я ищу способ полностью удалить разделительную линию в UITableView, когда в обычном режиме. Это делается автоматически в сгруппированных, но это также изменяет размеры таблицы таким образом, который трудно измерить. Я установил цвет линии разделителя на colorClear. Но это не полностью решает проблему.

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

Ответ 1

Вы можете сделать это с помощью свойства UITableView separatorStyle. Убедитесь, что для свойства установлено значение UITableViewCellSeparatorStyleNone и все готово.

Objective-C

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

В Свифте (до 3)

tableView.separatorStyle = .None

В Свифт 3/4/5

tableView.separatorStyle = .none

Ответ 2

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
}

Ответ 3

Вы можете сделать это и в редакторе раскадровки /xib. Просто установите Seperator в none.

enter image description here

Ответ 4

У меня все еще была темно-серая линия после попытки других ответов. Мне пришлось добавить следующие две строки, чтобы сделать все "невидимым" в терминах строк строк между ячейками.

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.separatorColor = [UIColor clearColor];

Ответ 5

В Swift:

tableView.separatorStyle = .None

Ответ 6

В интерфейсе Builder установить разделитель таблиц таблиц "Нет"

введите описание изображения здесь и те линии разделителя, которые показаны после последней ячейки, могут быть удалены с помощью следующего подхода. Наилучший подход - назначить Empty View на tableView FooterView в viewDidLoad

self.tableView.tableFooterView = UIView()

Ответ 7

Есть ошибка iOS 9 beta 4: строка разделителя появляется между UITableViewCell, даже если вы установили separatorStyle в UITableViewCellSeparatorStyleNone из раскадровки. Чтобы обойти это, вы должны установить его из кода, потому что на данный момент появляется ошибка из раскадровки. Надеюсь, они исправит это в будущей бета-версии.

Вот код для его установки:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

Ответ 8

В методе ViewDidLoad вам нужно написать эту строку.

tableViews.separatorStyle = UITableViewCellSeparatorStyleNone;

Это действующий код.

Ответ 9

В viewDidLoad:

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
    [self.tableView setSeparatorInset:UIEdgeInsetsZero];
}