У меня есть элемент управления страницы и прокрутка в одном из моих представлений. На данный момент у меня есть 2 страницы и размер содержимого прокрутки, установленный на ширину 496 (каждая страница 248). Все работает хорошо, обновляется и прокручивается должным образом, однако я замечаю, что могу продолжать прокрутку, даже если слева или справа от меня нет страницы.
Есть ли способ отключить прокрутку влево, если я на первой странице, или отключить прокрутку справа, если я на последней странице? Пожалуйста, посмотрите мои фрагменты кода ниже, чтобы увидеть, что я делаю.
// Initialize the scroll view
scrollView.pagingEnabled = YES;
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * 2, scrollView.frame.size.height);
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator = NO;
scrollView.scrollsToTop = NO;
scrollView.delegate = self;
// Functions called for the page control/scrollview
- (void)loadScrollViewWithPage:(int)page window:(UIView *)pageView
{
if(page < 0 || page >= pageControl.numberOfPages)
{
return;
}
// Add our view
CGRect frame = scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
[pageView setFrame:frame];
[scrollView addSubview:pageView];
}
- (void)scrollViewDidScroll:(UIScrollView *)sender
{
// Update our page when we have more than 50% of the adjacent page available
CGFloat pageWidth = scrollView.frame.size.width;
int page = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
if(page < 0 || page >= pageControl.numberOfPages)
{
return;
}
pageControl.currentPage = page;
[pageControl setNeedsDisplay];
}