Как я могу добавить UITableView в свое Основанное на представлении Приложение, где пользователь коснется больше чем на одной ячейке, и это станет выбранным, точно как установка "New Alarm" приложения для Часов под названием "Повторение" (Часы> Предупреждения> +> Повторение), и как я могу получить все выбранные ячейки в массиве?
В вашей реализации -tableView: didSelectRowAtIndexPath:
вы должны установить свойство accessoryType
ячейки табличного представления в зависимости от его текущего значения (чтобы оно переключалось включение и выключение несколькими нажатиями). Например:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)path {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:path];
if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
cell.accessoryType = UITableViewCellAccessoryNone;
} else {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
}
Вы можете либо поддерживать массив выбранных состояний в дополнение к собственному состоянию вспомогательного типа ячеек, либо перебирать ячейки в табличном представлении, запрашивая состояние каждого из них, чтобы считать выбранные строки.
Табличное представление повторяющихся сигналов будильника часов не является множественным выбором. Думайте об этом как о множестве флажков.
Когда ячейка выбрана, цвет шрифта и тип аксессуара изменяются, а выделение исчезает. Когда выбрана отмеченная ячейка, цвет шрифта и тип аксессуара снова меняются, а выделение исчезает.
В методе делегата didSelectRowAtIndexPath вы должны установить цвет текста и тип аксессуара для выбранной ячейки, а затем отменить выбор ячейки. Вы также должны записать новое состояние в свою модель данных. Это может быть так же просто, как битовая маска, представляющая выбранное состояние, но зависит от того, какие данные вы отображаете.
В методе cellForRowAtIndexPath: dataSource установите цвет текста и тип аксессуара на основе вашей модели данных.
Фактический множественный выбор будет аналогичным. Вы должны отслеживать, какие ячейки выбраны, и устанавливать выбранную ячейку для каждого состояния по мере ее создания или отображения. Когда представление таблицы сообщает, что ячейка выбрана, переключите состояние выбора в своей модели данных и установите выбранное состояние ячейки соответствующим образом.