原文地址:http://blog.csdn.net/hakusan/article/details/38942279?
UIScrollView是iOS中的滑動控件,用來解決當(dāng)前要顯示的內(nèi)容超出視圖的范圍時,可以通過滑動方式查看視圖的所有內(nèi)容
1.創(chuàng)建一個UIScrollView對象,并改變背景顏色
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(20, 20, 280, 528)];
scrollView.backgroundColor = [UIColor orangeColor];
scrollView.tag = 200;
[self.viewaddSubview:scrollView];
[scrollViewrelease];
2.設(shè)置內(nèi)容頁的大小(如果想要視圖滑動,內(nèi)容頁大小必須要比scrollView的大小大)
scrollView.contentSize = CGSizeMake(500, 600);
3.創(chuàng)建一個UIImageView,用來顯示圖片
UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 280, 528)];
image.tag = 100;
image.image = [UIImage imageNamed:@"1.jpg”];("1.jpg”,圖片名)
[scrollViewaddSubview:image];[imagerelease];
4.設(shè)置內(nèi)容區(qū)域的偏移量
scrollView.contentOffset = CGPointMake(300, 0);
5.設(shè)置視圖能否滑動(YES,能滑動;NO不能滑動)
scrollView.scrollEnabled = NO;
6.內(nèi)容區(qū)域相對于frame在哪顯示
scrollView.contentInset = UIEdgeInsetsMake(100, 100, 0, 0);
7.隱藏水平滑動指示器scrollView.showsHorizontalScrollIndicator=NO;
8.隱藏垂直滑動指示器scrollView.showsVerticalScrollIndicator=NO;
9.關(guān)閉滑動效果的回彈效果scrollView.bounces = NO;
10.設(shè)置當(dāng)點擊狀態(tài)條時,scrollView能否滑動到最頂端scrollView.scrollsToTop=YES;
11.設(shè)置scrollView是否可以整屏滑動(一次滑動整個scrollView的大小)
scrollView.pagingEnabled = YES;
12.設(shè)置最大縮放比例scrollView.maximumZoomScale=4.0;
13.設(shè)置最小縮放比例scrollView.minimumZoomScale=1.0;
協(xié)議中方法的觸發(fā)時機
如果想要哪種效果,只需在相應(yīng)方法里做操作
只要scrollView滑動就會觸發(fā)(會觸發(fā)多次)
- (void)scrollViewDidScroll:(UIScrollView*)scrollView
只要scrollView縮放就會觸發(fā)
- (void)scrollViewDidZoom:(UIScrollView*)scrollViewNS_AVAILABLE_IOS(3_2)
當(dāng)將要拖拽scrollView時觸發(fā),手指結(jié)束scrollView并且將要滑動時觸發(fā)
- (void)scrollViewWillBeginDragging:(UIScrollView*)scrollView
當(dāng)結(jié)束拖拽時觸發(fā)(手指將要離開屏幕)
- (void)scrollViewWillEndDragging:(UIScrollView*)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inoutCGPoint*)targetContentOffsetNS_AVAILABLE_IOS(5_0)
當(dāng)結(jié)束拖拽時觸發(fā)(手指已經(jīng)離開屏幕)
- (void)scrollViewDidEndDragging:(UIScrollView*)scrollView willDecelerate:(BOOL)decelerate
當(dāng)scrollView滑動將要減速時觸發(fā)(將要停止)
- (void)scrollViewWillBeginDecelerating:(UIScrollView*)scrollView
當(dāng)scrollView結(jié)束減速時觸發(fā)(停止滑動)
- (void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView
當(dāng)設(shè)置scrollView,有一個動畫效果時觸發(fā)
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView*)scrollView
設(shè)置要縮放的scrollView上面的哪一個子視圖,只能是子視圖,不能是scrollView本身.
- (UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView
當(dāng)將要開始縮放時觸發(fā)- (void)scrollViewWillBeginZooming:(UIScrollView*)scrollView withView:(UIView*)viewNS_AVAILABLE_IOS(3_2)
當(dāng)結(jié)束縮放時觸發(fā)
- (void)scrollViewDidEndZooming:(UIScrollView*)scrollView withView:(UIView*)view atScale:(CGFloat)scale
只有當(dāng)scrollsToTop屬性設(shè)置為YES時,該方法才會觸發(fā),進一步詢問點擊狀態(tài)條是否有效
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView*)scrollView
當(dāng)點擊狀態(tài)條并且scrollView滑動到頂端時觸發(fā)
- (void)scrollViewDidScrollToTop:(UIScrollView*)scrollView