Я хочу удалить синий цвет по умолчанию для выбора ячейки uitableview. Мне не нужен там какой-либо цвет выделения. Я не создавал собственный класс ячеек. Я настраиваю ячейку, добавляя над ней метки и кнопки. Я пробовал делать:
cell.selectioncolor = [UIColor clearcolor];
но он говорит, что этот метод устарел.
Выберите это в
Storyboard
илиXIB
источник
источник
Swift 3.0
источник
Цель-C:
или
Swift 4:
Swift 3:
Swift 2:
Если вы хотите изменить его, просто используя Storyboard / Xib, просто выберите ячейку, из которой вы хотите удалить «Эффект стиля выделения», и определите ее как «Нет». Это тоже сработает как по волшебству: D
Раскадровка / Xib
источник
Установка стиля выбора TableView на
.none
влияет на скорость отклика и производительность tableview в моем приложении (didSelectRowAt indexPath
нажатие задерживалось). Мое решение этой проблемы заключалось в том, чтобы скрыть выбранный фоновый видawakeFromNib()
при первом создании ячейки:selectedBackgroundView?.isHidden = true
источник
Попробуйте это быстро
источник
Сделайте это в камере :
Это так просто.
источник
быстрый 5
источник
правильный ответ должен быть:
cell.selectedBackgroundView?.backgroundColor = <choose your color>
Тип выбора - это другое свойство, которое при установке на
.none
производит то, что вы хотите, ПЛЮС другие нежелательные побочные эффекты.Если вы не хотите, чтобы ячейка выделялась , сделайте цвет ее фона таким же, как если бы она не была выделена.
источник