Удалить индикатор принадлежности таблицы из строки - PullRequest
4 голосов
/ 08 июня 2010

Есть ли способ отключить вспомогательные индикаторы по строкам по отдельности? У меня есть таблица, которая использует

- (UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath
    {
        return UITableViewCellAccessoryDetailDisclosureButton;
    }

Мне нужно отключить его (удалить значок и не запускать событие раскрытия подробностей) для одной строки. Я думал, что это сделает это, но не имеет никакого результата. Индикатор все еще появляется, он все еще получает и событие на ощупь.

cell.accessoryType = UITableViewCellAccessoryNone;

Спасибо за любые предложения.

1 Ответ

14 голосов
/ 08 июня 2010

Этот вызов функции 'accessoryTypeForRow ..' теперь отменен (из sdk 3.0 +).

Предпочтительный способ установки типа аксессуара в методе cellForRowAt ..

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"SomeCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
    }

    // customize the cell
     cell.textLabel.text = @"Booyah";
    // sample condition : disable accessory for first row only...
     if (indexPath.row == 0)
         cell.accessoryType = UITableViewCellAccessoryNone;

     return cell;
}
...