You can use contentOffset of scroll View to find how far user pulled scroll View.
Use scroll View delegate Method:
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
By checking frames of your views & scrollView contentOffset, you can determine which view is visible (i.e. uiview1, uiview2,..).
Edit:
Your logic should be like this:
if(uiview1.frame.origin.y - scrollView.contentOffset.y > uiview1.frame.origin.y + uiview1.frame.size.height)
{
//your logic for selection of uiview1
}else if.......
Apply this conditions from last view to first view.