Я хочу добавить контрольный знак в строке, когда любая строка выбрана в UITableView - PullRequest
1 голос
/ 05 января 2011

Я хочу добавить флажок, если в представлении таблицы выбрана какая-либо строка, помогите

Ответы [ 2 ]

4 голосов
/ 05 января 2011

Внедрите tableView:didSelectRowAtIndexPath: в свой делегат табличного представления, возьмите ячейку, выбранную с помощью [tableView cellForRowAtIndexPath:indexPath], и установите для ее аксессуара значение UITableViewCellAccessoryCheckmark.

Если вы хотите реализовать нечто похожее на многозначное значениеВ представлении таблицы в приложении «Настройки» я использую свойство для отслеживания того, что уже выбрано:

@property (nonatomic, retain) NSIndexPath *selectedIndexPath;

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

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *oldCell = [tableView cellForRowAtIndexPath:self.selectedIndexPath];
    [oldCell setAccessory:UITableViewCellAccessoryNone];

    UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];
    [newCell setAccessory:UITableViewCellAccessoryCheckmark];

    [self setSelectedIndexPath:indexPath];

    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

Чтобы сделать еще один шаг вперед, вы можете найти способ сохранить путь индекса в своем приложении (возможно, используя NSUserDefaults, а в tableView:cellForRowAtIndexPath: примените флажок к любой ячейке, которая соответствует этому пути индекса, так что ваш флажок отображается при загрузке представления.

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