Выбор UITableViewCell как в настройках - PullRequest
0 голосов
/ 09 апреля 2011

Есть ли способ позволить пользователю выбрать tableViewCell, и он будет выглядеть так же, как настройки на iPhone? В приложении настроек при выборе строки она становится синей при касании, затем при касании флажок перемещается из строки, в которой он находился, в новую строку, а синий исчезает.

В моем приложении я реализовал ту же самую базовую вещь, за исключением того, что я не знаю, как так погасить синий цвет. Я попытался перезагрузить tableSection с исчезающей анимацией, но это удаляет синий цвет намного быстрее, чем настройки. Кроме того, это вызывает кратковременное мигание других ячеек таблицы.

Я также пытался просто специально установить флажок для новой ячейки, но это оставляет его в старой ячейке и не удаляет выделение.

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:[[self.fetchedResults objectAtIndexPath:indexPath] languageCode] forKey:@"inputLanguage"];

  //[tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade];
    [tableView cellForRowAtIndexPath:indexPath].accessoryType = UITableViewCellAccessoryCheckmark;
}

1 Ответ

1 голос
/ 09 апреля 2011

Чтобы отменить выбор UITableViewCell, сделайте следующее:

[tableView deselectRowAtIndexPath:indexPath animated:YES];
...