1、contentSize:用来设置scrollView的滚动范围
self.scrollView.contentSize = self.imgView.image.size;
2、contentOffset:用来设置scrollView滚动的偏移量
- (IBAction)scroll {
CGPoint point = self.scrollView.contentOffset;
point.x += 100;
point.y += 100;
self.scrollView.contentOffset = point;
}
执行scroll方法,将imgView按照指定的偏移量进行滚动。
注:(1)使用block动画的方式来对imgView进行滚动
[UIView animateWithDuration:0.7 animations:^{
self.scrollView.contentOffset = point;
}];
(2)直接使用动画的方式来对设置contentOffset属性的值
[self.scrollView setContentOffset:point animated:YES];
3、contentInset:设置UIScrollView的内容在拖动以后,内容距离UIScrollView的内边距(想象成把内容加大了,在内容本身的周围加了一圈“外边距”)。
//设置UIScrollView的内容的内边距
self.scrollView.contentInset = UIEdgeInsetsMake(100, 50, 30, 5);
4、是否显示水平和垂直滚动条
//隐藏滚动指示器
self.scrollView.showsHorizontalScrollIndicator = NO;
self.scrollView.showsVerticalScrollIndicator = NO;
5、通过代理监听滚动事件
(1)通过代码来实现监听
@interface ViewController () <UIScrollViewDelegate>
......
//即将开始拖拽
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
NSLog(@"即将开始拖拽,scrollViewWillBeginDragging。。。");
}
//正在滚动
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog(@"正在滚动,scrollViewDidScroll。。。");
//输出当前滚动的位置
NSString *point = NSStringFromCGPoint(scrollView.contentOffset);
NSLog(@"%@",point);
}
//拖拽完毕
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
NSLog(@"拖拽完毕,scrollViewDidEndDragging。。。");
}
(2)通过拖拽实现监听:将scrollView的delegate关联上View Controller
接下来写监听代码就可以了。
//即将开始拖拽
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
NSLog(@"即将开始拖拽,scrollViewWillBeginDragging。。。");
}
//正在滚动
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog(@"正在滚动,scrollViewDidScroll。。。");
//输出当前滚动的位置
NSString *point = NSStringFromCGPoint(scrollView.contentOffset);
NSLog(@"%@",point);
}
//拖拽完毕
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
NSLog(@"拖拽完毕,scrollViewDidEndDragging。。。");
}
6、UIScrollView实现缩放功能
//实现缩放,在这个方法中返回要进行缩放的子控件(这个方法在缩放前就会被调用)
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
NSLog(@"viewForZoomingInScrollView...");
return self.imgView;
}
//即将开始缩放
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
NSLog(@"即将开始缩放。。。");
}
//正在缩放
-(void)scrollViewDidZoom:(UIScrollView *)scrollView
{
NSLog(@"正在缩放。。。");
}
//缩放完毕
-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
{
NSLog(@"缩放完毕。。。");
}
缩放倍数:
self.scrollView.maximumZoomScale = 2.5; //最大放大到2.5倍
self.scrollView.minimumZoomScale = 0.2; //最小缩小到0.2倍