@interface ViewController ()<UIScrollViewDelegate>
@property (strong, nonatomic) UIScrollView *scrollView
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad]
[self.navigationController setNavigationBarHidden:YES animated:NO]
[self.view addSubview:self.scrollView]
}
- (UIScrollView *)scrollView {
if (!_scrollView) {
_scrollView = [[UIScrollView alloc] init]
_scrollView.frame = CGRectMake(0, 100, screen_W, 400)
_scrollView.delegate = self
_scrollView.pagingEnabled = YES
_scrollView.contentSize = CGSizeMake(screen_W * 4, 400)
_scrollView.bounces = NO
_scrollView.showsHorizontalScrollIndicator = NO
_scrollView.showsHorizontalScrollIndicator = NO
for (NSInteger i = 0
HHAnimationView *animationView = [[HHAnimationView alloc] initWithFrame:CGRectMake(i * scrollView_W, 0, scrollView_W, 400)]
animationView.imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%ld",i]]
[_scrollView addSubview:animationView]
animationView.tag = animationViewTag + i
}
}
return _scrollView
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat x = scrollView.contentOffset.x
NSInteger leftIndex = x/scrollView_W
//这里的left和right是区分拖动中可见的两个视图
HHAnimationView *leftView = [scrollView viewWithTag:(leftIndex + animationViewTag)]
HHAnimationView *rightView = [scrollView viewWithTag:(leftIndex + 1 + animationViewTag)]
rightView.contentX = -(scrollView_W - AnimationOffset) + (x - (leftIndex * scrollView_W))/scrollView_W * (scrollView_W - AnimationOffset)
leftView.contentX = ((scrollView_W - AnimationOffset) + (x - ((leftIndex + 1) * scrollView_W))/scrollView_W * (scrollView_W - AnimationOffset))
}
@end
