Проблема с установкой галочки в ячейке - PullRequest
0 голосов
/ 29 февраля 2012

Я пишу следующую строку, чтобы поставить отметку чеха.

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{       
    customersListCell.accessoryType = UITableViewCellAccessoryCheckmark;
}

Но, если я выберу строку, флажок появится в другой строке.И если я прокручиваю, исчезает возможность.

1 Ответ

2 голосов
/ 29 февраля 2012

Ну, вы должны сначала убедиться, что вы ставите галочку в нужной ячейке:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{       
    UITableViewCell * cell_to_alter = [tableView cellForRowAtIndexPath:indexPath];
    cell_to_alter.accessoryType = UITableViewCellAccessoryCheckmark;
}

Теперь вам нужно понять, что iOS по умолчанию повторно использует ячейки таблицы - поэтому, когда одна ячейка перетаскивается на экран, она может использоваться для отображения содержимого другой ячейки.

Вы должны учитывать это поведение при разработке метода cellForRowAtIndexPath: . (в основном - проверьте, должна ли ячейка иметь галочку и добавьте ее в ячейку, и CLEAR , если она не должна иметь).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...