//这个属性用来表示UIScrollView内容的尺寸,滚动范围(能滚多远)
self.scorllView.contentSize = CGSizeMake(imageW * IMAGE_COUNT, 0);
CGPoint offset = [self.scorllView contentOffset];
[self.scorllView setContentOffset:CGPointMake(-10, -10)]
[self.scorllView setContentOffset:CGPointMake(-10, -10) animated:YES];//动画效果
self.scorllView.bounces = NO;
self.scorllView.contentInset = UIEdgeInsetsMake(10, 10, 20, 30);
self.scorllView.scrollEnabled = NO;
self.scorllView.showsHorizontalScrollIndicator = NO;
self.scorllView.showsVerticalScrollIndicator = NO;
self.scrollView.pagingEnabled = YES;
self.scrollView.contentSize = self.miniView.image.size;
self.scrollView.maximumZoomScale = 2.0;
CGSize contentSize:设置UIScrollView的滚动范围
CGPoint contentOffset:UIScrollView当前滚动的位置
UIEdgeInsets contentInset:增加滚动视图四周的增加滚动范围
BOOL bounces?是否有弹簧效果
BOOL scrollEnabled?是否能滚动
BOOL showsHorizontalScrollIndicator?是否显示水平方向的滚动条
BOOL showsVerticalScrollIndicator?是否显示垂直方向的滚动条
UIScrollViewIndicatorStyle indicatorStyle?设定滚动条的样式
BOOL dragging?是否正在被拖拽
BOOL tracking?按住手指还没有开始拖动的时候值是YES,否则NO
BOOL decelerating?是否正在减速
BOOL zooming?是否正在缩放
[_scrollView setMinimumZoomScale:0.2]; // 指定最小缩放比例
[_scrollView setMaximumZoomScale:2.0]; // 指定最大缩放比例
[_scrollView setDelegate:self]; // 设置滚动视图的代理
// 缩放中的代理方法
- (void)scrollViewDidZoom:(UIScrollView *)scrollView{
NSLog(@"缩放中。。。");
}
// 缩放完成的代理方法
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale{
NSLog(@"缩放完成 %f", scale);
}
// 一定要记住:本代理方法的返回值就是“要缩放的视图对象”
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return _imageView;
}
要实现分页效果,将滚动视图的pagingEnabled属性设置为YES即可。设置该属性后滚动视图会被分割成多个独立的页面,用户原本的滚动体验会变成了页面切换的效果
UIPageControl分页控制控件(页面下面的小点点)
UIPageControl属性:
NSInteger numberOfPages:总页数
NSInteger currentPage:当前的页码
BOOL hidesForSinglePage:当只有一页的时候,是否要隐藏视图
UIColor *currentPageIndicatorTintColor:当前选中页面标示的颜色
代码式例:
// 增加分页控件
UIPageControl *pageControl = [[UIPageControl alloc]init];
[pageControl setBounds:CGRectMake(0, 0, 150.0, 50.0)];
[pageControl setCenter:CGPointMake(self.view.bounds.size.width / 2, self.view.bounds.size.height - 100.0)];
[pageControl setNumberOfPages:2];
[pageControl setCurrentPage:0];
[pageControl setCurrentPageIndicatorTintColor:[UIColor redColor]];
- (void)updatePageChanged:(UIPageControl *)pageControl{
CGFloat offsetX = pageControl.currentPage * _scroll.bounds.size.width;
[_scroll setContentOffset:CGPointMake(offsetX, 0) animated:YES];
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
NSInteger pageNo = scrollView.contentOffset.x / scrollView.bounds.size.width;
//实现viewForZoomingInScrollView方法,返回要缩放的控件实现缩放,scrollview有多个图片时,只能缩放其中一个,返回那个图片就缩放那个图片
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
return self.miniView;
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
//设置总页数
self.pageControl.numberOfPages = IMAGE_COUNT;
原文:http://www.cnblogs.com/linxiu-0925/p/5058125.html