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