iOS Неправильный фон раскрытия в UITableViewCell на iPad с iOS9
У меня есть похожая проблема, как я описал здесь. И снова я не могу найти другую скрытую настройку.
Я использовал индикатор раскрытия для своей ячейки табличного представления. И работает на iPhone /iPad с iOS 10+, iPhone с iOS 9 выглядит хорошо, но не на iPad с iOS 9.
Я попытался установить фон для accessoryView, но он все тот же.
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "tableCell", for: indexPath) as! TablesTableViewCell
cell.accessoryView?.backgroundColor = tableView.backgroundColor
if let tablesTable = fetchedResultsController?.object(at: indexPath) {
currentTableSession = TableSessionTable.getCurrentTableSession(table: tablesTable)
cell.tableNameLabel.text = tablesTable.tableName
print("cell.contant view")
print(cell.contentView.backgroundColor)
print("cell.accessory view")
print(cell.accessoryView?.backgroundColor)
print("tableview.background")
print(tableView.backgroundColor)
Согласно печати, это ноль:
представление cell.contant Необязательно (UIDeviceRGBColorSpace 0,976539 0,977373 0,915492 1) представление cell.accessory nil
tableview.background Необязательно (UIDeviceRGBColorSpace 0,976539 0,977373 0,915492 1)
Также попробовал это:
tableView.cellForRow(at: indexPath)?.accessoryView?.backgroundColor = tableView.backgroundColor
Тот же результат.
Есть идеи, как это исправить?
1 ответ
Я нашел решение! Спасибо за Claude31, который помог мне с этой проблемой на форуме разработчиков Apple.
Наконец, я обнаружил, что проблема может быть решена путем инициализации backgroundView и установки цвета:
let backgroundView = UIView()
backgroundView.backgroundColor = tableView.backgroundColor
cell.backgroundView = backgroundView
Оно работает!