В таких случаях мы должны включить подкачку в нашем представлении прокрутки.
Допустим, у вас есть представление прокрутки размером 320x480, и оно должно отображать 10 страниц, где размер каждой страницы составляет 320x480, что делает размер содержимого представления прокрутки равным 320 * 10 x 480.
Лучший способ определить текущую страницу - использовать значение смещения содержимого представления прокрутки.
Итак, в начале, когда scrollview показывает 1-ю страницу, его смещение содержимого будет равно x = 0, y = 0.
Для 2-й страницы х = 320, у = 0.
Таким образом, мы можем получить текущее значение страницы, разделив contentOffset.x на ширину страницы.
Таким образом, 0/320 = 0 означает 1-ю страницу. 320/320 = 1, означает 2-ю страницу и т. Д.
Таким образом, если у нас есть текущее значение страницы, мы можем определить, в каком направлении движется представление прокрутки, следующим образом:
-(void) scrollViewDidScroll:(UIScrollView *)scrollView{
int currentPageOffset = currentPage * PAGE_WIDTH;
if (self.pageScrollView.contentOffset.x >= currentPageOffset + PAGE_WIDTH) {
// Scroll in right direction. Reached the next page offset.
// Settings for loading the next page.
currentPage = self.pageScrollView.contentOffset.x/PAGE_WIDTH;
}else if (self.pageScrollView.contentOffset.x <= currentPageOffset - PAGE_WIDTH) {
// Scroll in left direction. Reached the previous page offset.
// Setting for loading the previous page.
currentPage = self.pageScrollView.contentOffset.x/PAGE_WIDTH;
}
}