UIScrollView控件的常用屬性與<UIScrollViewDelegate>協(xié)議中各個方法的觸發(fā)時機

原文地址: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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容