- UIScrollView有兩個(gè)子控件-UIImageView驶社,滾動(dòng)條撑螺,所有不要在里面判斷子控件
滾動(dòng)scrollView,其實(shí)本質(zhì)滾動(dòng)內(nèi)容 => 改scrollView的bounds产喉,其bounds就是偏移量郑诺,顯示區(qū)域也是bounds的區(qū)域
注意iOS7以后,導(dǎo)航控制器中scollView頂部會(huì)添加64的額外滾動(dòng)區(qū)域
//self表示控制器碘梢,存放scollView的控制器
self.automaticallyAdjustsScrollViewInsets = NO;
- 設(shè)置UIScrollView的contentSize屬性疫鹊,告訴UIScrollView所有內(nèi)容的尺寸袖瞻,也就是告訴它滾動(dòng)的范圍,比如拆吆,Y不能滾動(dòng)的時(shí)候設(shè)置為0
- UIScrollView做自動(dòng)布局: 首先確定scrollView滾動(dòng)范圍 => 如何在stroboard對(duì)scrollView確定滾動(dòng)范圍 => 搞一個(gè)專門view去確定scrollView的滾動(dòng)范圍 => 如何確定:水平 和 垂直方向 => scrollView水平能否滾動(dòng): view的寬度 + 左右兩邊間距 才能確定scrollView水平滾動(dòng)區(qū)域 => 垂直 = view的高度 + 上下兩邊間距
UIScrollView無法滾動(dòng)
1聋迎、沒有設(shè)置contentSize,比如锈拨,Y不能滾動(dòng)的時(shí)候設(shè)置為0
2砌庄、scrollEnabled = NO
3羹唠、沒有接收到觸摸事件:userInteractionEnabled = NO
UIScrollView的常見屬性
UIScrollView的常見屬性
滾動(dòng)的偏移量 :contentOffset;-注意沒有偏移量的時(shí)候?yàn)?
UIScrollView內(nèi)容的尺寸奕枢,滾動(dòng)范圍 : contentSize; 這個(gè)屬性用來表示(能滾多遠(yuǎn)),沒有偏移量的時(shí)候用0表示
UIScrollView的4周增加額外的滾動(dòng)區(qū)域 : contentInset; 這個(gè)屬性能夠在佩微,一般用來避免scrollView的內(nèi)容被其他控件擋住
彈簧效果: bounces;
是否能滾動(dòng): scrollEnabled;
是否顯示水平滾動(dòng)條:showsHorizontalScrollIndicator;
是否顯示垂直滾動(dòng)條: showsVerticalScrollIndicator;
UIScrollView的代理
scrollViewDidScroll: 滾動(dòng)視圖滾動(dòng)時(shí)使用 scrollViewDidEndDecelerating: 滾動(dòng)視圖停止?jié)L動(dòng)時(shí)使用 scrollViewWillEndDragging: 滾動(dòng)視圖停止拖拽時(shí)使用
縮放實(shí)現(xiàn)
1缝彬、設(shè)置UIScrollView的delegate代理對(duì)象
2、設(shè)置minimumZoomScale :縮小的最小比例
3哺眯、設(shè)置maximumZoomScale :放大的最大比例
4谷浅、讓代理對(duì)象實(shí)現(xiàn)下面的方法,返回需要縮放的視圖控件
分頁
一共有多少頁 :numberOfPages;
當(dāng)前顯示的頁碼: currentPage;
只有一頁時(shí)奶卓,是否需要隱藏頁碼指示器: hidesForSinglePage;
其他頁碼指示器的顏色:pageIndicatorTintColor;
當(dāng)前頁碼指示器的顏色:currentPageIndicatorTintColor;
方法&&屬性
// 監(jiān)控目前滾動(dòng)的位置(默認(rèn)CGPointZero)
CGPoint contentOffset;
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated;
// 滾動(dòng)范圍的大小(默認(rèn)CGSizeZero)
CGSize contentSize;
// 視圖在scrollView中的位置(UIEdgeInsetsZero)
UIEdgeInsets contentInset;
// 設(shè)置協(xié)議
id<UIScrollViewDelegate> delegate;
// 指定控件是否只能在一個(gè)方向上滾動(dòng)(默認(rèn)為NO)
BOOL directionalLockEnabled;
// 控制控件遇到邊框是否反彈(默認(rèn)為YES)
BOOL bounces;
// 控制垂直方向遇到邊框是否反彈(默認(rèn)為NO,如果為YES一疯,bounces也是YES)
BOOL alwaysBounceVertical;
// 控制水平方向遇到邊框是否反彈(默認(rèn)為NO,如果為YES,bounces也是YES)
BOOL alwaysBounceHorizontal;
// 控制控件是否整頁翻動(dòng)(默認(rèn)為NO)
BOOL pagingEnabled;
// 控制控件是否能滾動(dòng)
BOOL scrollEnabled;
// 控制是否顯示水平方向的滾動(dòng)條
BOOL showsHorizontalScrollIndicator;
// 控制是否顯示垂直方向的滾動(dòng)條
BOOL showsVerticalScrollIndicator;
// 指定滾動(dòng)條在scrollerView中的位置
// 設(shè)定滾動(dòng)條的樣式