您的位置:首页 > 产品设计 > UI/UE

iOS基础之UIScrollView(滚动视图)

2016-02-21 19:38 459 查看
  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的协议方法,协议中还有其他方法:

  




这样就完成了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: