iOS基础之UIScrollView(滚动视图)
UIScrollView主要针对于图片的滚动,相册等一些功能。
代码演示:
创建UIScrollView:
使其具有滚动功能:
//水平方向滚动 scrollView.contentSize = CGSizeMake(WIDTH * 7,0); //垂直方向滚动 scrollView.contentSize = CGSizeMake(0,7 * HEIGHT);
循环放入图片:
设置一些相关属性:
//让scrollView按页来滚动 scrollView.pagingEnabled = YES; //关闭水平方向滚动条 scrollView.showsHorizontalScrollIndicatour = NO; //关闭垂直方向滚动条 scrollView.showsVerticalScrollIndicator = NO; //关闭边界回弹效果 scrollView.bounces = NO;
对ScrollView上的图片进行缩放:
//设置缩放比例以及设置代理对象 smallScroll.delegate = self; smallScroll.minimumZoomScale = 0.2; smallScroll.maximumZoomScale = 2.0; //指定缩放的视图 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{ //return [scrollView.subviews firstObject]; return [scrollView.subviews objectAtIndex:0]; } //中心点缩放 - (void)scrollViewDidZoom:(UIScrollView *)scrollView{ UIImageView *imageV = [scrollView.subviews firstObject]; if (scrollView.zoomScale <= 1.0) { imageV.center = CGPointMake(kWidth / 2, kHeight / 2); } }
在缩放之后,我们发现重新滑动的时候,发现图片不能恢复原来的大小,这样会影响美观,所以在这之前我们还要做这一步操作:
//减速结束,也就是停止滚动 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ for (UIScrollView *sView in scrollView.subviews){ // 在根据子类的对象类型进⾏行判断 if ([sView isKindOfClass:[UIScrollView class]]){ // 把视图的尺寸恢复到原有尺⼨寸 sView.zoomScale = 1.0; } } }
这一步是UIScrollView的协议方法,协议中还有其他方法:
这样就完成了。