UITableView с пользовательским пейджинговым поведением

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

Все мои клетки одинаковой высоты.

Если я установлюpaging=YES это приводит к небольшому смещению, которое увеличивается, когда я пролистываю страницы. Это связано с тем, что мой tableView немного выше, чем одна ячейка, а высота ячейки / размер страницы не совпадают.

Я пробовал разные вещи с включенным пейджингом. Я попытался установить размер tableView на высоту ячейки, но затем отключил обрезку и маскировку, чтобы пользователь все еще мог видеть следующую ячейку. Это не работает, поскольку следующая ячейка добавляется только к базовому scrollView в самые последние мс перед тем, как ячейка прокручивается в ограничивающую рамку tableView.

Затем я начал реализовывать различные методы делегата scrollView, чтобы имитировать поведение подкачки - я не могу понять, что это правильно.

Я, между прочим, попробовал что-то вроде этого:

- (void) scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
    float cellHeight = [myCell rowHeight];
    int index = floorf(scrollView.contentOffset.y / cellHeight);

    *targetContentOffset = CGPointMake(targetContentOffset->x, targetContentOffset->y = (index * cellHeight));
}

В то время как это делает правильные вещи, оно ведет себя не так, как scrollView / tableView с включенной подкачкой страниц.

Я нашел несколько сообщений здесь от людей, пытающихся достичь того же, но ответы страдают от того же "неродной-оснастка чувство» что все, что я попробовал сам, делает.

Спасибо за любую помощь.

iOS>= 5,0

Ответы на вопрос(3)

Ваш ответ на вопрос