backgroundView для UITableViewCell, которая переупорядочивается?

#iphone #uitableview

#iPhone #uitableview

Вопрос:

Я пытаюсь изменить фоновый вид для ячеек, которые пользователь начинает перетаскивать с помощью дескриптора с правой стороны.

По-видимому, выбранный Background view не используется в этом состоянии, есть ли какое-либо другое решение?

Комментарии:

1. Вы получаете изменение в фоновом режиме при выборе ячейки без перехода в режим редактирования?

Ответ №1:

Это, кажется, сложная задача. Не похоже, что Apple предоставила способ уведомить разработчика о том, что пользователь начал переупорядочивать ячейку табличного представления. Итак, я думаю, это то, что вам нужно было бы сделать:

  1. Подкласс UITableViewCell.
  2. Переопределите методы touchesBegan и др. (это может помочь вам начать:http://devblog.wm-innovations.com/2010/03/30/custom-swipe-uitableviewcell /)
  3. Если вы обнаружите событие касания «перетаскивания» и свойство showsReorderControl ячейки (см. http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html ) возвращает ДА, замените backgroundView, помня предыдущий.
  4. Когда событие касания завершится, восстановите старый вид.
  5. Поймите, что это не так просто, как описанные выше 4 шага.

Пользовательская обработка касания внутри tableview возможна, но сложна. Возможно, вам придется временно отключить события касания в UITableView (поднимаясь вверх по цепочке ответчиков), чтобы это сработало. Я надеюсь, что эти указатели помогут вам двигаться в правильном направлении.