Удалите цвет подсветки ячейки UITableView

Я хочу удалить синий цвет по умолчанию для выбора ячейки uitableview. Я не хочу никакого выбора цвета там. Я не создал пользовательский класс ячейки. Я настраиваю ячейку, добавляя надписи и надписи. Я пытался сделать:

cell.selectioncolor = [UIColor clearcolor];

но это говорит о том, что этот метод устарел.

Ответ 1

cell.selectionStyle = UITableViewCellSelectionStyleNone;

в Swift 4 обновлен

cell.selectionStyle = UITableViewCell.SelectionStyle.none

Или же

cell.selectionStyle = .none

Ответ 2

Выберите это в Storyboard или XIB


введите описание изображения здесь

Ответ 3

// Swift 2.0

cell.selectionStyle = UITableViewCellSelectionStyle.None

Ответ 4

Swift 3.0

cell.selectionStyle = .none

Ответ 5

Objective-C:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

или же

[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

Свифт 4:

self.selectionStyle = UITableViewCellSelectionStyle.none;

Свифт 3:

cell.selectionStyle = .none

Свифт 2:

cell.selectionStyle = UITableViewCellSelectionStyle.None

Если вы хотите изменить его, просто используя Storyboard/Xib, просто выберите ячейку, для которой вы хотите удалить "Эффект стиля выделения", и определите его как "Нет". Это будет работать как по волшебству: D

Раскадровка /Xib

Ответ 6

Попробуйте это для быстрого

cell?.selectionStyle = UITableViewCellSelectionStyle.None

Ответ 7

Установка стиля выбора TableView в .none влияла на отзывчивость и производительность представления таблицы в моем приложении (didSelectRowAt indexPath откладывались). Мое решение этой проблемы состояло в том, чтобы скрыть выбранный фоновый вид в awakeFromNib() при первом создании ячейки:

selectedBackgroundView?.isHidden = true

Ответ 8

Свифт 5

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
        cell.selectionStyle = .none

        return cell
    }