#iphone #uitableview
#iPhone #uitableview
Вопрос:
Я пытаюсь изменить фоновый вид для ячеек, которые пользователь начинает перетаскивать с помощью дескриптора с правой стороны.
По-видимому, выбранный Background view не используется в этом состоянии, есть ли какое-либо другое решение?
Комментарии:
1. Вы получаете изменение в фоновом режиме при выборе ячейки без перехода в режим редактирования?
Ответ №1:
Это, кажется, сложная задача. Не похоже, что Apple предоставила способ уведомить разработчика о том, что пользователь начал переупорядочивать ячейку табличного представления. Итак, я думаю, это то, что вам нужно было бы сделать:
- Подкласс UITableViewCell.
- Переопределите методы touchesBegan и др. (это может помочь вам начать:http://devblog.wm-innovations.com/2010/03/30/custom-swipe-uitableviewcell /)
- Если вы обнаружите событие касания «перетаскивания» и свойство showsReorderControl ячейки (см. http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html ) возвращает ДА, замените backgroundView, помня предыдущий.
- Когда событие касания завершится, восстановите старый вид.
- Поймите, что это не так просто, как описанные выше 4 шага.
Пользовательская обработка касания внутри tableview возможна, но сложна. Возможно, вам придется временно отключить события касания в UITableView (поднимаясь вверх по цепочке ответчиков), чтобы это сработало. Я надеюсь, что эти указатели помогут вам двигаться в правильном направлении.