У меня есть ячейка, которую я вставляю в начало UITableView. Как я могу убедиться, что когда пользователь нажимает на ячейку, он не отображает синий выбранный индикатор?
Как сделать ячейку на UITableView недоступной?
Ответ 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