Подтвердить что ты не робот

Как сделать ячейку на UITableView недоступной?

У меня есть ячейка, которую я вставляю в начало UITableView. Как я могу убедиться, что когда пользователь нажимает на ячейку, он не отображает синий выбранный индикатор?

4b9b3361

Ответ 1

Установите стиль выделения UITableViewCell на UITableViewCellSelectionStyleNone

Ответ 2

Чтобы сделать его полностью неизменным, требуется две вещи:

1- Как говорили другие:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

2- Вам необходимо реализовать этот метод делегата:

// Called before the user changes the selection. Return a new indexPath, or nil, to change the proposed selection.
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
    if(cell.selectionStyle == UITableViewCellSelectionStyleNone){
        return nil;
    }
    return indexPath;
}

Ответ 3

вы можете сделать

cell.selectionStyle = UITableViewCellSelectionStyleNone;

Ответ 4

Из раскадровки установите для табличного представления следующее:

Выбор: нет выбора

Показать выбор при касании: False

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

Ответ 5

Swift Синтаксис:

cell.selectionStyle = UITableViewCellSelectionStyle.None

Ответ 6

Я отвечаю с точки зрения отключения TableViewCell. Вы можете использовать раскадровку.

XCode Version 8.2.1 (8C1002)

Выберите TableVewCell на раскадровке, и следующие будут видны на правой боковой панели - Утилиты.

Утилиты боковой панели

Сделайте Выбор: Нет

Что все!

Ответ 7

myTable.allowsSelection = false

Ответ 8

Обновление в Swift 3:

cell.selectionStyle = UITableViewCellSelectionStyle.none

Ответ 9

для Swift 3 вы можете использовать

 cell.isUserInteractionEnabled = false

Ответ 10

Внедрите этот метод UITableViewDelegate

- (BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath {
return NO;}

Ответ 11

Для Swift 3:

cell.selectionStyle = .none