Как сбросить тип аксессуара для ячеек таблицы одним нажатием кнопки? - PullRequest
4 голосов
/ 06 ноября 2011

Я пытаюсь закодировать кнопку сброса, чтобы при нажатии на эту кнопку для всех типов ячеек таблицы было установлено значение none.

У меня есть четкое представление о том, как это сделать, но я довольно новичок в разработке для iPhone, поэтому мне просто нужна помощь с методами, которые нужно вызвать.

Шаги, которые, я думаю, мне нужно предпринять: я перебираю все строки, используя цикл for, поэтому я подсчитываю количество ячеек (успешно выполнено). Моя проблема в том, что я понятия не имею, как проверить для каждой из этих строк / ячеек, является ли тип аксессуара CheckMark, и установить его на none.

Кроме того, я могу установить все свои ячейки на AccessoryNone, но я уже делаю некоторые вычисления внутри:

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

Так что я не уверен, как мне этого добиться.

Ответы [ 2 ]

11 голосов
/ 21 ноября 2011

Нет необходимости проверять, что является accessoryType первым, просто назначьте UITableViewCellAccessoryNone всем имЭто должно работать для того, что вы пытаетесь сделать:

// replace clickedResetButton with your action handler method for that button
- (IBAction)clickedResetButton:(id)sender {
    for (int section = 0, sectionCount = self.tableView.numberOfSections; section < sectionCount; ++section) {
        for (int row = 0, rowCount = [self.tableView numberOfRowsInSection:section]; row < rowCount; ++row) {
            UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:section]];
            cell.accessoryType = UITableViewCellAccessoryNone;
            cell.accessoryView = nill;
        }
    }
}
0 голосов
/ 08 августа 2017

Свифт 3,1

func resetAccessoryType(){
    for section in 0..<self.tableView.numberOfSections{
        for row in 0..<self.tableView.numberOfRows(inSection: section){
            let cell = self.tableView.cellForRow(at: IndexPath(row: row, section: section))
            cell?.accessoryType = .none
        }
    }
}
...