Подтвердить что ты не робот

Показать разделитель только для доступного CellForRow в UITableView

Я использую UITableView с пользовательской ячейкой.
Он работает нормально, но проблема в том, что в UITableView есть только одна или две ячейки.
Он также предоставляет разделитель для пустой ячейки.
Можно ли отображать разделитель только для ячейки, которая загружается с моей пользовательской ячейкой?

4b9b3361

Ответ 1

Вам нужно добавить пустой нижний стол, чтобы скрыть пустые строки из таблицы.

Swift 3.x:

В viewDidLoad()

self.tblPeopleList.tableFooterView = UIView.init()

Objective-C:

Самый простой способ:

в вашем методе viewDidLoad,

self.yourTableView.tableFooterView = [[UIView alloc] initWithFrame : CGRectZero];

или

self.yourTableView.tableFooterView = [UIView new];

или

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

UIView *view = [[UIView alloc] initWithFrame:self.view.bounds];
view.backgroundColor = [UIColor redColor];
self.yourTableView.tableFooterView = view;

//OR add an image in footer
//UIImageView *imageView = [[UIImageView alloc] initWithImage:footerImage.png]
//imageView.frame = table.frame;
//self.yourTableView.tableFooterView = imageView;

Другой способ:

Реализовать метод источника данных таблицы,

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
    return [UIView new];
}

Это то же самое, но здесь вы можете добавлять разные представления для каждого раздела, если таблица имеет несколько разделов. Даже вы можете установить разную высоту каждого раздела с помощью этого метода, - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {...}.

Objective-C Ответ Примечание. Этот ответ проверен для iOS7 и выше, для предыдущих версий вы должны проверить каждый случай. Замечание по быстрому ответу. Этот ответ протестирован для iOS10.3 и выше, для предыдущих версий вы должны тестировать каждый случай.

Ответ 2

Другое решение:

UIView *v = [[UIView alloc] initWithFrame:CGRectZero];
v.backgroundColor = [UIColor clearColor];
[self.tableView setTableFooterView:v];

Это тоже работает

self.tableView.tableFooterView = [UIView new];

Ответ 3

Поместите этот мир кода в свой viewDidLoad

self.tblTest.tableFooterView = [[UIView alloc] initWithFrame : CGRectZero];