Да, для этого есть делегат, вам нужно использовать UIScrollViewDelegate.
http://developer.apple.com/library/IOS/#documentation/UIKit/Reference/UIScrollViewDelegate_Protocol/Reference/UIScrollViewDelegate.html
Метод scrollViewDidScroll сообщает вам о добавлении прокрутки, поэтому в этой функции вы можете проверить свойство contentOffset ( scrollview.contentOffset.x ), а затем сравнить его с позицией и размером представления (). myView.frame.origin.x + myView.frame.size.width ).
По сути, вы должны сделать
if(scrollview.contentOffset.x > (myView.frame.origin.x + myView.frame.size.width))
//Remove my view to reuse it
Если у вас есть только 2 вида для отображения, и вы просто хотите повторно использовать каждый вид, вы можете найти вид, отображаемый в данный момент, следующим образом:
//Assuming your views had the same width and it is store in the pageWidth variable
float currPosition = photoGalleryScrollView.contentOffset.x;
//We look for the selected page by comparing his width with the current scroll view position
int selectedPage = roundf(currPosition / pageWidth);
float truePosition = selectedPage * pageWidth;
int zone = selectedPage % 2;
BOOL view1Active = zone == 0;
UIView *nextView = view1Active ? view2 : view1;
UIView *currentView = view1Active ? view1 : view2;
//We search after the next page
int nextpage = truePosition > currPos + 1 ? selectedPage-1 : selectedPage+1;
//then we compare our next page with the selectd page
if(nextpage > selectedPage){
//show next view
}
else{
//show previous view
}
После этого вам нужно добавить контент в nextView, добавить его в представление прокрутки и удалить currentView, когда он скрыт.