//创建滚动视图
//scrollViw的视图范围
UIScrollView * scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]
[scrollView addSubview:imageView]
//内容的大小 默认是scrollView的大小,改变为内容的大小,即可实现滚动
scrollView.contentSize = CGSizeMake(image.size.width, image.size.height)
//隐藏滚动条
scrollView.showsHorizontalScrollIndicator = NO
scrollView.showsVerticalScrollIndicator = NO
//相对于原点的偏移量
scrollView.contentOffset = CGPointMake(image.size.width/2 - scrollView.center.x, image.size.height/2 - scrollView.center.y)
scrollView.delegate = self
//自带回弹效果,设置为no,则取消这个效果
scrollView.bounces = NO
//分页效果,页的宽可以自己定制
scrollView.pagingEnabled = YES
//最小缩放倍数
scrollView.minimumZoomScale = 0.5
//最大缩放倍数
scrollView.maximumZoomScale = 4.0
相关代理
#pragma mark scrollView 的代理时间
#pragma mark 整个图片呗拖拽的过程中一直调用这个方法
-(void)scrollViewDidScroll:(nonnull UIScrollView *)scrollView
{
NSLog(@"一直被调用 x = %f y = %f",scrollView.contentOffset.x,scrollView.contentOffset.y);
}
#pragma mark 结束减速
-(void)scrollViewDidEndDecelerating:(nonnull UIScrollView *)scrollView
{
NSLog(@"减速的过程");
}
#pragma mark 将要减速
-(void)scrollViewWillBeginDecelerating:(nonnull UIScrollView *)scrollView
{
NSLog(@"将要减速");
}
#pragma mark 已经结束拖拽
-(void)scrollViewDidEndDragging:(nonnull UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
}
#pragma mark 将要开始拖拽
-(void)scrollViewWillBeginDragging:(nonnull UIScrollView *)scrollView
{
}
#pragma mark 将要结束拖拽
-(void)scrollViewWillEndDragging:(nonnull UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout nonnull CGPoint *)targetContentOffset
{
}
#pragma mark 滚动到顶部 点击状态栏返回顶部
-(BOOL)scrollViewShouldScrollToTop:(nonnull UIScrollView *)scrollView
{
return YES;
}
#pragma mark 指定那个view进行缩放
-(nullable UIView *)viewForZoomingInScrollView:(nonnull UIScrollView *)scrollView
{
return scrollView.subviews[0];
}
#pragma mark 缩放结束
-(void)scrollViewDidEndZooming:(nonnull UIScrollView *)scrollView withView:(nullable UIView *)view atScale:(CGFloat)scale
{
NSLog(@"缩放结束");
}
#pragma mark 缩放过程中一直调用
-(void)scrollViewDidZoom:(nonnull UIScrollView *)scrollView
{
NSLog(@"缩放中");
}
#pragma mark 将要缩放
-(void)scrollViewWillBeginZooming:(nonnull UIScrollView *)scrollView withView:(nullable UIView *)view
{
NSLog(@"将要缩放");
}
UIPageControl
_pageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0, self.view.frame.size.height - 40, self.view.frame.size.width, 40)]
//背景颜色
_pageControl.backgroundColor = [UIColor grayColor]
//一共有多少个点点
_pageControl.numberOfPages = 16
_index = 0
//当前页
_pageControl.currentPage = _index
_pageControl.pageIndicatorTintColor = [UIColor redColor]
_pageControl.currentPageIndicatorTintColor = [UIColor greenColor]
_scrollView.delegate = self