У меня есть ячейка, которую я вставляю в начало UITableView. Как я могу убедиться, что, когда пользователь нажимает на ячейку, он не отображает синий выбранный индикатор?Как сделать ячейку на UITableView недоступной?
ответ
Установите selection style of the UITableViewCell в UITableViewCellSelectionStyleNone
вы можете сделать
cell.selectionStyle = UITableViewCellSelectionStyleNone;
Отсутствует одна точка. Вот фиксированная версия: cell.selectionStyle = UITableViewCellSelectionStyle.None –
Для того, чтобы он полностью не выбираемые две вещи необходимы:
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;
}
Swift Синтаксис:
cell.selectionStyle = UITableViewCellSelectionStyle.None
Реализовать это method из UITableViewDelegate
- (BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath
{
return NO;
}
myTable.allowsSelection = false
Обновление в Swift 3:
cell.selectionStyle = UITableViewCellSelectionStyle.none
Для Swift 3:
cell.selectionStyle = .none
Как предлагалось выше «Это не делает ячейку неизбираемой, это означает, что визуальный внешний вид ячейки не изменяется, когда он выбран. TableView: didSelectRowAtIndexPath : по-прежнему вызывается, когда ячейка прослушивается. Чтобы фактически предотвратить выбор, вам нужно реализовать tableView: willSelectRowAtIndexPath: на вашем UITableViewDelegate и вернуть нуль для неизбираемых строк. - « – Siyavash
@Siyavash, как указано в исходном вопросе, этот человек хочет только чтобы скрыть «синий выбранный индикатор». Это не то же самое, что желание сделать его полностью неизменным. Проще говоря, человек, задающий вопрос, только пытается скрыть визуальную индикацию выбора. –
для Swift 3 вы можете использовать
cell.isUserInteractionEnabled = false
может у вас, пожалуйста, добавьте информацию – Kondal
только что этот код в cellForRowAt метод indexPath табличного представления, его простой – 2017-09-13 06:05:58
этот метод полезен, когда вы хотите, чтобы пользовательское взаимодействие отключилось в виде таблицы, иначе вы можете использовать долю метода Mr Ben Below – 2017-09-13 06:14:41
- 1. Как сделать часть изображения недоступной?
- 2. Как сделать всю ячейку UITableView ответом на краны?
- 3. Сделать ячейку UITableview прозрачной при ее выборе
- 4. Нажатие на ячейку UITableView создает новую ячейку
- 5. Как программно выбрать ячейку uitableview?
- 6. Как добавить ячейку в UITableView?
- 7. Как обновить ячейку в UITableView?
- 8. Настройка NSLayoutConstraint на ячейку на UITableView
- 9. Как добавить ячейку в UITableView?
- 10. Как сделать прошедшую дату недоступной в fullcalendar?
- 11. сделать оставшуюся часть окна недоступной
- 12. Программно выделить ячейку UITableView
- 13. Как добавить ячейку в uitableview
- 14. Как автоматически выбрать ячейку UITableview?
- 15. UITableView переместить в ячейку
- 16. Как сделать страницу недоступной в Flask?
- 17. Как сделать таблицу (Jtable) недоступной для редактирования
- 18. При перемещении ячеек в UITableView, как сделать ячейку неподвижной?
- 19. Как получить ячейку от UITableView
- 20. Как перемещать пользовательскую ячейку uitableview?
- 21. Как сделать редактируемую ячейку таблицы
- 22. UITableView скрыть первую ячейку
- 23. Как сделать фиксированную высоту ячейки на uitableview?
- 24. Назначить ячейку uitableview на основе словаря valueForKey
- 25. Показать ячейку вне UITableView
- 26. UITableView, отображающий фантомную ячейку
- 27. UITableView дублирует каждую ячейку
- 28. Поместите ячейку внизу uitableview
- 29. Скрыть ячейку UITableview
- 30. Добавить ячейку в UITableView
Это не делает клетка, не выбираемые его просто означает, что внешний вид ячейки не изменяется, когда он выбран. 'tableView: didSelectRowAtIndexPath:' все равно вызывается, когда ячейка прослушивается. Чтобы фактически предотвратить выбор, вам необходимо [реализовать tableView: willSelectRowAtIndexPath:] (http: // stackoverflow.com/a/812921/172218) на ваш 'UITableViewDelegate' и вернуть нуль для неизбираемых строк. –
Swift 3 - 'cell.selectionStyle = UITableViewCellSelectionStyle.none' – John