Вы можете использовать scrollRectToVisible
, что-то вроде этого:
-(void)scrollToIndex(UIButton*)sender{
UIButton *btn = (UIButton*)sender;
NSInteger *index = btn.tag;
CGRect rect = CGRectMake(CGRectGetWidth(self.contentScrollView.frame)*index, 0, CGRectGetWidth(self.contentScrollView.frame), CGRectGetHeight(self.contentScrollView.frame));
[self.contentScrollView scrollRectToVisible:rect animated:YES];
}
}
Теперь хорошо использовать другой вариант, если пользователь хочет прокрутить представление вручную:
- (void)scrollViewDidScroll:(UIScrollView *)sender {
// Switch the currentDataView when more than 50% of the previous/next page is visible
CGFloat pageWidth = sender.frame.size.width;
int page = floor((sender.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
pageControl.currentPage = page;
//You can also set the highlight of the button that relate to this view
}