标签:
一 UIScrollView 的基本属性
UIScrollView *scrollView = [[UIScrollView alloc] init];//创建UIScrollView
scrollView.frame = CGRectMake(0, 0, 250, 250); // frame中的size指UIScrollView的可视范围 指定UIScrollView可滑动的距离大小
scrollView.backgroundColor = [UIColor grayColor];//指定UIScrollView北景色
[self.view addSubview:scrollView];//把该控件添加到主窗体
// 设置UIScrollView的滚动范围(内容大小)这个属性很重要,如果没有该属性UIScrollView将不可滑动
scrollView.contentSize = imageView.image.size;//通常scrollView.contentSize的大小为可滑动图片的大小,这里设置的是图片的大小
// 隐藏水平滚动条
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator = NO;
// 用来记录scrollview滚动的位置
// scrollView.contentOffset = ;
// 去掉弹簧效果
// scrollView.bounces = NO;
// 增加额外的滚动区域
// top left bottom right
scrollView.contentInset = UIEdgeInsetsMake(20, 20, 20, 20);
//下面这个属性是让滑动的图片立刻回到原点,到窗体刚加载时的样子,没有滑动的位置
_scrollView.contentOffset = CGPointMake(0, 0);
二 图片的伸缩属性
// 设置scrollview的代理对象
scrollView.delegate = self;//首先要设置代理的对象,这里设置的代理对象为self 就是控制器本身 同时必须遵循
UIScrollViewDelegate协议,如果不遵循这个协议将调不到伸缩方法(伸缩完毕 伸缩中等方法)
// 设置最大伸缩比例
scrollView.maximumZoomScale = 2.0;
// 设置最小伸缩比例
scrollView.minimumZoomScale = 0.2;
#pragma mark - UIScrollView 的 代理方法
#pragma mark 这个方法返回的控件就能进行捏合手势缩放操作
#pragma mark 当UIScrollView尝试进行缩放的时候就会调用
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return _imageView;//这里反回的是伸缩的那个VIEW ,viewForZoomingInScrollView为系统自动调用只要遵循协议
}
#pragma mark 当缩放完毕的时候调用
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
{
// NSLog(@"结束缩放 - %f", scale);
}
#pragma mark 当正在缩放的时候调用
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
// NSLog(@"-----");
}
#pragma mark - UIScrollView的代理方法
#pragma mark 当scrollView正在滚动的时候调用
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
}
标签:
原文地址:http://www.cnblogs.com/xgj0721/p/4338462.html