一 UIScrollView 简介
1. contentSize : 设置 滚动范围
1. 必须大于scrollView 的 宽高
2. 如果在宽度上设置为0 , 表示在横向上是无法滚动的
2. contentInset : 设置 scrollView 的内边距 , 内容 距离 scrollView四周的边界
3. contentOffset : 偏移量, 滚动到某个点(位置, x , y)
setContentOffset: animated: ; 设置的时候, 附带动画
4. 隐藏/显示 指示条
_scrollView.showsHorizontalScrollIndicator = NO;
_scrollView.showsVerticalScrollIndicator = NO;
5. 没有设置 contentSize , 并且 bounces = YES 的时候
_scrollView.alwaysBounceHorizontal = YES;
_scrollView.alwaysBounceVertical = YES;
6. bounces , 弹簧效果
默认是YES
7. scrollEnabled
是否可以滚动, NO 将无法滚动
二 代码案例
- (void)viewDidLoad {
[superviewDidLoad];
//设置contentSize
_scrollView.contentSize=_xiaoImageView.frame.size;
#warning 2.设置控制器成为scrollView的代理
_scrollView.delegate=self;
}
#warning 3.实现对应的代理方法
// Dragging :拖拽的意思
//开始拖拽的时候调用
- (void)scrollViewWillBeginDragging:(UIScrollView*)scrollView {
NSLog(@"----scrollViewWillBeginDragging");
}
//只要滚动就会调用
- (void)scrollViewDidScroll:(UIScrollView*)scrollView {
NSLog(@"------- scrollViewDidScroll, %@",NSStringFromCGPoint(scrollView.contentOffset));
}
//结束拖拽的时候调用,手指离开屏幕
// Decelerate :减速
- (void)scrollViewDidEndDragging:(UIScrollView*)scrollView willDecelerate:(BOOL)decelerate {
NSLog(@"--- scrollViewDidEndDragging");
}
三 SCRollView无法滚动的原因
1. contentSize 设置的 小于等于 scrollView的size
2. scrollEnabled = NO
3. userInteractionEnabled = NO;
四 scrollView的缩放
1. 必须使用代理方法
viewForZoomingInScrollView:(UIScrollView *)scrollView 告诉scrollView 要对哪个view进行缩放
2. 必须设置最大的放大倍数, 最小的缩小倍
_scrollView.maximumZoomScale = 3;
_scrollView.minimumZoomScale = 0.3;
网友评论