Есть ли способ удалить разделительную линию из 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];
}