Как пометить несколько UITableViewCells и выполнить действие с помеченными ячейками? - PullRequest
2 голосов
/ 11 февраля 2010

Я бы хотел сделать в значительной степени то, что делает почтовое приложение: чтобы при выборе «Правка» вместо обычной кнопки «Удалить» на боковой стороне появлялись радиокнопки, которые пользователь может проверить, а затем пользователь может щелкнуть Кнопка для выполнения действия над отмеченными ячейками (любое действие не просто удалить). Есть ли пример кода Apple, который делает это? Может кто-нибудь предоставить какой-нибудь код или документацию о том, как это сделать? Спасибо.

-Oscar

Ответы [ 2 ]

3 голосов
/ 11 февраля 2010

Я этого не делал, поэтому все следующее вытекает прямо из документации.Вот как я бы это сделал:

  1. Перезаписать метод setEditing:animated: вашего контроллера представления, чтобы отобразить одну или несколько кнопок для выполнения вашего пакетного действия (как это делает Mail.app), когда таблица переходит в редактированиеmode.
  2. Используйте пользовательский подкласс UITableViewCell для своих ячеек.
  3. Ключ должен перезаписать willTransitionToState: в вашем пользовательском классе ячеек.В этом методе добавьте пользовательское подпредставление, содержащее вашу радиокнопку, в ячейку.
  4. Перезаписать layoutSubviews, чтобы расположить радиокнопку и остальное содержимое ячейки в ячейке.
  5. In tableView:didSelectRowAtIndexPath:, различать нормальное и редактируемое состояния.Если таблица находится в режиме редактирования и пользователь нажимает на ячейку, отметьте ее как выбранную (соответственно измените подпредставление переключателя) и сохраните запись всех отмеченных ячеек.
2 голосов
/ 11 февраля 2010

Вот хорошая статья о множественном выборе в стиле Mail:

http://cocoawithlove.com/2009/01/multiple-row-selection-and-editing-in.html

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