一 UIScrollView 簡介
1. contentSize? : 設(shè)置 滾動(dòng)范圍
1. 必須大于scrollView 的 寬高
2. 如果在寬度上設(shè)置為0 , 表示在橫向上是無法滾動(dòng)的
2. contentInset : 設(shè)置 scrollView 的內(nèi)邊距 , 內(nèi)容 距離? scrollView四周的邊界
3. contentOffset : 偏移量, 滾動(dòng)到某個(gè)點(diǎn)(位置, x , y)
setContentOffset: animated:? ; 設(shè)置的時(shí)候, 附帶動(dòng)畫
4. 隱藏/顯示 指示條
_scrollView.showsHorizontalScrollIndicator = NO;
_scrollView.showsVerticalScrollIndicator = NO;
5. 沒有設(shè)置 contentSize , 并且 bounces = YES 的時(shí)候
_scrollView.alwaysBounceHorizontal = YES;
_scrollView.alwaysBounceVertical = YES;
6. bounces , 彈簧效果
默認(rèn)是YES
7. scrollEnabled
是否可以滾動(dòng),? NO 將無法滾動(dòng)
二 代碼案例
- (void)viewDidLoad {
[superviewDidLoad];
//設(shè)置contentSize
_scrollView.contentSize=_xiaoImageView.frame.size;
#warning 2.設(shè)置控制器成為scrollView的代理
_scrollView.delegate=self;
}
#warning 3.實(shí)現(xiàn)對應(yīng)的代理方法
// Dragging :拖拽的意思
//開始拖拽的時(shí)候調(diào)用
- (void)scrollViewWillBeginDragging:(UIScrollView*)scrollView {
NSLog(@"----scrollViewWillBeginDragging");
}
//只要滾動(dòng)就會(huì)調(diào)用
- (void)scrollViewDidScroll:(UIScrollView*)scrollView {
NSLog(@"------- scrollViewDidScroll, %@",NSStringFromCGPoint(scrollView.contentOffset));
}
//結(jié)束拖拽的時(shí)候調(diào)用,手指離開屏幕
// Decelerate :減速
- (void)scrollViewDidEndDragging:(UIScrollView*)scrollView willDecelerate:(BOOL)decelerate {
NSLog(@"--- scrollViewDidEndDragging");
}
三 SCRollView無法滾動(dòng)的原因
1. contentSize 設(shè)置的 小于等于? scrollView的size
2. scrollEnabled = NO
3. userInteractionEnabled = NO;
四 scrollView的縮放
1. 必須使用代理方法
viewForZoomingInScrollView:(UIScrollView *)scrollView 告訴scrollView 要對哪個(gè)view進(jìn)行縮放
2. 必須設(shè)置最大的放大倍數(shù), 最小的縮小倍
_scrollView.maximumZoomScale = 3;
_scrollView.minimumZoomScale = 0.3;