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

В моем приложении, когда пользователь касается ячейки таблицы, ячейка отключается, и управление переупорядочением ячейки исчезает. Если они коснутся его снова, ячейка будет включена, и снова появится элемент управления переупорядочением. В настоящее время я реализую это, вызывая reloadRowsAtIndexPaths: withRowAnimation :, но это sloooowww. Если я просто изменю свойство showsReorderControl, ничего не произойдет. У меня был некоторый успех с использованием setEditing: animated:, но он не работал последовательно. Есть идеи? Спасибо!

Ответы [ 2 ]

10 голосов
/ 07 декабря 2009

Хорошо, я нашел решение. Мне нужно было использовать -tableView: canEditRowAtIndexPath: в дополнение к –tableView: canMoveRowAtIndexPath: и затем, когда пришло время показать или скрыть элемент управления переупорядочением, я использовал showReorderControl и setEditing: animated: чтобы все это работало.

0 голосов
/ 06 декабря 2009

Элемент управления переупорядочением должен быть виден только тогда, когда таблица находится в режиме редактирования. Чтобы показать его для определенной строки, вам нужно реализовать –tableView: canMoveRowAtIndexPath: в источнике данных вашего tableView. Не должно быть никаких причин для вызова -reloadData, просто чтобы показать этот элемент управления.

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