Добавляя настраиваемое представление с цветом фона самостоятельно вы можете иметь собственный стиль выбора в виде таблицы.
let customBGColorView = UIView()
customBGColorView.backgroundColor = UIColor(hexString: "#FFF900")
cellObj.selectedBackgroundView = customBGColorView
Добавить этот 3-строчный код в метод cellForRowAt TableView. Я использовал расширение в UIColor, чтобы добавить цвет с шестнадцатеричным кодом. Поместите этот код расширения в конец любого класса (вне тела класса).
extension UIColor {
convenience init(hexString: String) {
let hex = hexString.trimmingCharacters(in: CharacterSet.alphanumerics.inverted)
var int = UInt32()
Scanner(string: hex).scanHexInt32(&int)
let a, r, g, b: UInt32
switch hex.characters.count {
case 3: // RGB (12-bit)
(a, r, g, b) = (255, (int >> 8) * 17, (int >> 4 & 0xF) * 17, (int & 0xF) * 17)
case 6: // RGB (24-bit)
(a, r, g, b) = (255, int >> 16, int >> 8 & 0xFF, int & 0xFF)
case 8: // ARGB (32-bit)
(a, r, g, b) = (int >> 24, int >> 16 & 0xFF, int >> 8 & 0xFF, int & 0xFF)
default:
(a, r, g, b) = (255, 0, 0, 0)
}
self.init(red: CGFloat(r)/255, green: CGFloat(g)/255, blue: CGFloat(b)/255, alpha: CGFloat(a)/255)
}
}
Настройка фоновый взгляд на синий работал отлично для меня; каждая ячейка остается синей, когда я ее выбираю. Вы уверены, что ваш табличный вид установлен для множественного выбора? – rdelmar
Да, выбор несколько ... Когда я нажимаю на ячейку, он получает этот фон, но когда я нажимаю на другую ячейку, это меняет цвет, но фон первой нажатой ячейки возвращается к нормальному цвету. –
cell.multipleSelectionBackgroundView = cellBGView // Также не работает ... –