Как установить uitableviewcell без привязки на iphone sdk
Привет, я пытаюсь, чтобы мой uitableviewcell был неактивным, чтобы пользователь не мог щелкнуть, а просто сказал данные в ячейке. Я пытаюсь сделать это с помощью:
UITableViewCell *cell = nil;
if (indexPath.row < factsCount) {
static NSString *FactsCellIdentifier = @"FactsCell";
cell = [tableView dequeueReusableCellWithIdentifier:FactsCellIdentifier];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
Однако ячейку можно щелкнуть и выделить.
Спасибо за вашу помощь!
Ответы
Ответ 1
Чтобы остановить только выбранные ячейки, используйте:
cell.userInteractionEnabled = NO;
Помимо предотвращения выбора, это также останавливает tableView: didSelectRowAtIndexPath: вызывается для ячеек, которые он установил.
(но обратите внимание, что он отключит любой интерактивный контент в ячейках - например, кнопки - для этого случая установите для параметра selectionStyle значение UITableViewCellSelectionStyleNone и игнорируйте tableView: didSelectRowAtIndexPath: вызов для этой ячейки)
Ответ 2
Установите ячейку selectionStyle
на UITableViewCellSelectionStyleNone
.
Ответ 3
Это можно сделать с помощью
cell.selectionStyle = UITableViewCellSelectionStyleNone;
или
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
Ответ 4
Чтобы отключить выделение ячеек, вы можете реализовать метод -(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
в представлении представления таблицы и вернуть нуль, если вы не хотите, чтобы ячейка с заданным NSIndexPath была выбрана.
Как уже указывалось в других ответах, чтобы отключить выделение ячеек, вы должны установить его свойство selectionStyle для UITableViewCellSelectionStyleNone.
Также убедитесь, что вы правильно задали свойства при повторном использовании tableviewcells