Чи є спосіб видалити розділову лінію з UITableView?


225

Я шукаю спосіб повністю видалити розділову лінію в UITableView, коли в звичайному режимі. Це робиться автоматично в групі, але це також змінює розміри таблиці таким чином, що важко виміряти. Я встановив колір лінії сеператора на colorClear. Але це не повністю вирішує проблему.

Оскільки я намагаюся намалювати власний фоновий вигляд у клітинках, і я хочу, щоб комірки були безшовними, одна піксельна лінія, яка залишається між ними, викликає у мене проблеми. Чи є більш елегантний спосіб вирішення, якщо використовувати згрупований вигляд, а потім розтягнути його?


Зміна separatorInsetяк в цьому відповідь stackoverflow.com/a/8561820/1418457
onmyway133

Відповіді:


454

Ви можете зробити це за допомогою UITableViewвласності separatorStyle. Переконайтеся, що для властивості встановлено UITableViewCellSeparatorStyleNoneі ви налаштовано.

Ціль-С

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

У Swift (до 3)

tableView.separatorStyle = .None

У Свіфт 3/4/5

tableView.separatorStyle = .none

39
Ви також можете це зробити в IB, до речі, (роздільник => жоден).
Барт Джейкобс

1
Це видається лише для видалення розділових ліній у розділі таблиці. Чи є спосіб видалити розділові лінії між секціями?
devios1

4
Лінія між секціями насправді не є лінією, а видом розділу. Ви можете змінити представлення даних, застосувавши tableView:viewForHeaderInSection:з UITableViewDelegateпротоколу.
Барт Джейкобс


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

18

Після спроби інших відповідей у ​​мене все ще була темно-сіра лінія. Мені довелося додати наступні два рядки, щоб зробити все "невидимим" з точки зору рядків рядків між клітинками.

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

Це працювало для мене. У моєму випадку лінія розділювача насправді не з’являлася між клітинками, а насправді десь посередині.
Елліот

10

В інтерфейсі Builder встановлено розділовий вигляд таблиці "None"

введіть тут опис зображення і ті розділові лінії, які показані після останньої комірки, можна видалити наступним підходом. Найкращим підходом є призначення порожнього перегляду tableView FooterView в viewDidLoad

self.tableView.tableFooterView = UIView ()



5

Існує помилка iOS 9 beta 4: розділовий рядок з'являється між UITableViewCells, навіть якщо ви встановите separatorStyleна UITableViewCellSeparatorStyleNoneдошку. Щоб обійти це, вам потрібно встановити його з коду, тому що на сьогоднішній день є помилка в раскадровці. Сподіваємось, вони виправлять це в майбутній бета-версії.

Ось код для його встановлення:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

2

У методі ViewDidLoad вам потрібно написати цей рядок.

tableViews.separatorStyle = UITableViewCellSeparatorStyleNone;

Це діючий Кодекс.


1

У вашому viewDidLoad:

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
    [self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.