Табличное представление не прокручивается, когда переупорядочивание строк / ячеек за пределами таблицы с использованием Three20 - PullRequest
0 голосов
/ 31 мая 2011

Когда я переупорядочиваю строки / ячейки в моем Three20 TTTableViewController (редактируя таблицу и перемещая отдельные ячейки вверх или вниз), он не прокручивается, когда ячейка перемещается за пределы представления таблицы. Когда я перетаскиваю ячейку вверх за границы, она автоматически анимирует ячейку вверх и за ее пределы, не прокручивая ее. Это делает невозможным эффективное изменение порядка ячеек в позициях за пределами того, что в данный момент видно.

Я проверил это с и без Three20, и он только не прокручивает таблицу при заказе с реализацией Three20.

Ответы [ 2 ]

1 голос
/ 30 марта 2012

Three20 любит управлять поведением прокрутки с помощью переопределений метода setContentOffset и setContentSize. Поведение прокрутки контролируется свойством scrollEnabled.

TTTableViews имеют вид scrollEnabled = YES, но в то время этот метод называется scrollEnabled = NO и должен быть сброшен при переупорядочении строк.

  • (NSIndexPath *) tableView: (UITableView *) tableView targetIndexPathForMoveFromRowAtIndexPath: (NSIndexPath *) sourceIndexPath toProposedIndexPath: (NSIndexPath *) предложилDestinationIndexPath { tableView.scrollEnabled = YES; }
1 голос
/ 01 июня 2011

Видимо, реализация Three20 TTTableView переопределяет UIScrollView

- (void)setContentSize:(CGSize)size;

и

- (void)setContentOffset:(CGPoint)point;

Они предназначены для предотвращения неправильного изменения contentOffset при изменении размера содержимого или высоты таблицы, хотя это непреднамеренно предотвращает прокрутку таблицы при перемещении строк в режиме редактирования.

Я прокомментировал эти методы, и необходимые мне функции стали доступны.

...