iOS 5 наконец-то добавил moveRowAtIndexPath:toIndexPath:
метод к UITableView
. Проблема в том, что его вызов только перемещает строку, но не обновляет и не перерисовывает. Единственный способ сделать это - найти ячейку и напрямую вызвать setNeedsDisplay. Но это сложно, так как вы никогда не знаете, переместилась ли уже клетка или нет.
Я также не могу вызвать reloadRowsAtIndexPaths:
, поскольку мне не разрешено применять 2 анимации к одной строке внутри одного и того же блока beginUpdates-endUpdates
.
Я могу придумать несколько обходных путей, например разделить все это на 2 блока анимации. Но мне интересно, что я что-то упускаю, так как все поведение мне кажется странным.