Добавление ячеек в видимый пустой UITableView отображается с белым фоном - PullRequest
0 голосов
/ 06 января 2019

Использование Xcode 10+, Swift 4+, iOS 11 +

Я создал простое окно поиска, в верхней части которого находится панель поиска, с UITableView внизу.

Когда представление отображается впервые, таблица пуста, и когда пользователь вводит текст в строку поиска, я добавляю результаты в таблицу. Функционально все работает нормально.

Затем я сделал синий фон основного вида и хочу, чтобы весь TableView был четким, чтобы я мог видеть фон.

Я установил фон табличного представления в "viewDidLoad":

myTable.backgroundColor = UIColor.clear

В "cellForRowAt" я установил фон ячейки, чтобы очистить:

var cell:UITableViewCell = UITableViewCell(style: UITableViewCellStyle.subtitle, reuseIdentifier: "cell")
cell.backgroundColor = UIColor.clear
cell.contentView.backgroundColor = UIColor.clear

Однако, когда поиск возвращает значения и ячейки добавляются в таблицу, у них всегда белый фон вместо прозрачного.

Если я выскочу, а затем нажму на представление поиска без очистки таблицы, существующие ячейки таблицы будут отображаться (перерисовываться) так, как я их хочу - очистить.

Я также пытался добавить это в "didFinishLaunchingWithOptions", но это не помогает:

UITableViewCell.appearance().backgroundColor = UIColor.clear

Как сделать так, чтобы ячейки отображались ясно при их создании?

1 Ответ

0 голосов
/ 06 января 2019

попробуйте установить backgroundColor ячейки или tableView, когда ячейка будет отображаться.

override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    cell.backgroundColor = UIColor.clear
}

или вы можете переопределить функцию setBackgroundView для устранения проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...