Как сделать ячейку на UITableView недоступной для выбора? - PullRequest
58 голосов
/ 15 апреля 2010

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

Ответы [ 11 ]

65 голосов
/ 15 апреля 2010

Установите стиль выбора UITableViewCell на UITableViewCellSelectionStyleNone

Swift 5:

selectionStyle = .none
59 голосов
/ 12 июля 2013

Чтобы сделать ячейку полностью невыбираемой для каждой ячейки, необходимы две вещи:

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;
}
15 голосов
/ 23 сентября 2015

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

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

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

enter image description here

13 голосов
/ 26 апреля 2012

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

cell.selectionStyle = UITableViewCellSelectionStyleNone;
5 голосов
/ 11 февраля 2017

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

XCode Version 8.2.1 (8C1002)

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

Utilities Sidebar

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

Вот и все!

5 голосов
/ 19 марта 2015

Синтаксис Swift:

cell.selectionStyle = UITableViewCellSelectionStyle.None
3 голосов
/ 13 сентября 2017

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

 cell.isUserInteractionEnabled = false
3 голосов
/ 24 апреля 2016
myTable.allowsSelection = false
2 голосов
/ 05 мая 2017

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

cell.selectionStyle = UITableViewCellSelectionStyle.none
1 голос
/ 22 июля 2017

Для Swift 3:

cell.selectionStyle = .none
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...