Неактивная UITableViewCell

Опубликовано 2015.02.02

Если в таблице нужно сделать несколько строк не активными, то есть некликабельными - то в методе didSelectRowAtIndexPath можно заблокировать переход в другой контроллер:
  1. -(void)tableView:(UITableView *)TableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
  2. [TableView deselectRowAtIndexPath:[TableView indexPathForSelectedRow] animated:NO];
  3. }
Таким образом вы заблокируете переход по тапу на строку. Так же в методе cellForRowAtIndexPath можно задать стиль строки при тапе, точнее удалить его.
  1. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  2. ...
  3. cell.selectionStyle = UITableViewCellSelectionStyleNone;
  4. ...
  5. return cell;
  6. }
Естественно, вам нужно смотреть на ваш массив данных, согласно которому вы формируете строки таблицы, и уже по нему ориентироваться - блочить строку или нет. Чтобы найти нужный элемент в своём массиве - используйте indexPath.section и indexPath.row - это номер секции и номер строки.