原文地址:http://blog.csdn.net/hakusan/article/details/38942279?
UIScrollView是iOS中的滑動控件,用來解決當前要顯示的內容超出視圖的范圍時,可以通過滑動方式查看視圖的所有內容
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.設置內容頁的大小(如果想要視圖滑動,內容頁大小必須要比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.設置內容區(qū)域的偏移量
scrollView.contentOffset = CGPointMake(300, 0);
5.設置視圖能否滑動(YES,能滑動;NO不能滑動)
scrollView.scrollEnabled = NO;
6.內容區(qū)域相對于frame在哪顯示
scrollView.contentInset = UIEdgeInsetsMake(100, 100, 0, 0);
7.隱藏水平滑動指示器scrollView.showsHorizontalScrollIndicator=NO;
8.隱藏垂直滑動指示器scrollView.showsVerticalScrollIndicator=NO;
9.關閉滑動效果的回彈效果scrollView.bounces = NO;
10.設置當點擊狀態(tài)條時,scrollView能否滑動到最頂端scrollView.scrollsToTop=YES;
11.設置scrollView是否可以整屏滑動(一次滑動整個scrollView的大小)
scrollView.pagingEnabled = YES;
12.設置最大縮放比例scrollView.maximumZoomScale=4.0;
13.設置最小縮放比例scrollView.minimumZoomScale=1.0;
協議中方法的觸發(fā)時機
如果想要哪種效果,只需在相應方法里做操作
只要scrollView滑動就會觸發(fā)(會觸發(fā)多次)
- (void)scrollViewDidScroll:(UIScrollView*)scrollView
只要scrollView縮放就會觸發(fā)
- (void)scrollViewDidZoom:(UIScrollView*)scrollViewNS_AVAILABLE_IOS(3_2)
當將要拖拽scrollView時觸發(fā),手指結束scrollView并且將要滑動時觸發(fā)
- (void)scrollViewWillBeginDragging:(UIScrollView*)scrollView
當結束拖拽時觸發(fā)(手指將要離開屏幕)
- (void)scrollViewWillEndDragging:(UIScrollView*)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inoutCGPoint*)targetContentOffsetNS_AVAILABLE_IOS(5_0)
當結束拖拽時觸發(fā)(手指已經離開屏幕)
- (void)scrollViewDidEndDragging:(UIScrollView*)scrollView willDecelerate:(BOOL)decelerate
當scrollView滑動將要減速時觸發(fā)(將要停止)
- (void)scrollViewWillBeginDecelerating:(UIScrollView*)scrollView
當scrollView結束減速時觸發(fā)(停止滑動)
- (void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView
當設置scrollView,有一個動畫效果時觸發(fā)
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView*)scrollView
設置要縮放的scrollView上面的哪一個子視圖,只能是子視圖,不能是scrollView本身.
- (UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView
當將要開始縮放時觸發(fā)- (void)scrollViewWillBeginZooming:(UIScrollView*)scrollView withView:(UIView*)viewNS_AVAILABLE_IOS(3_2)
當結束縮放時觸發(fā)
- (void)scrollViewDidEndZooming:(UIScrollView*)scrollView withView:(UIView*)view atScale:(CGFloat)scale
只有當scrollsToTop屬性設置為YES時,該方法才會觸發(fā),進一步詢問點擊狀態(tài)條是否有效
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView*)scrollView
當點擊狀態(tài)條并且scrollView滑動到頂端時觸發(fā)
- (void)scrollViewDidScrollToTop:(UIScrollView*)scrollView