UIScrollView 整理

UIScrollView屬性

UIScrollView屬性


CGSize contentSize :設(shè)置UIScrollView的滾動(dòng)范圍

CGPoint contentOffset :UIScrollView當(dāng)前滾動(dòng)的位置

UIEdgeInsets contentInset :這個(gè)屬性可以在四周增加滾動(dòng)范圍

BOOL bounces 是否有彈簧效果

BOOL scrollEnabled 是否能滾動(dòng)

BOOL showsHorizontalScrollIndicator 是否顯示水平方向的滾動(dòng)條

BOOL showsVerticalScrollIndicator? ? 是否顯示垂直方向的滾動(dòng)條

UIScrollViewIndicatorStyle indicatorStyle? 設(shè)定滾動(dòng)條的樣式

BOOL dragging 是否正在被拖拽

BOOL tracking? 當(dāng)touch后還沒有拖動(dòng)的時(shí)候值是YES,否則NO

BOOL decelerating 是否正在減速

BOOL zooming 是否正在縮放

pagingEnabled=YES 分頁效果


tracking

當(dāng) touch 后還沒有拖動(dòng)的時(shí)候值是YES,否則NO

zoomBouncing

當(dāng)內(nèi)容放大到最大或者最小的時(shí)候值是 YES,否則 NO

zooming

當(dāng)正在縮放的時(shí)候值是 YES,否則 NO

decelerating

當(dāng)滾動(dòng)后,手指放開但是還在繼續(xù)滾動(dòng)中。這個(gè)時(shí)候是 YES,其它時(shí)候是 NO

decelerationRate

設(shè)置手指放開后的減速率

maximumZoomScale

一個(gè)浮點(diǎn)數(shù),表示能放最大的倍數(shù)

minimumZoomScale

一個(gè)浮點(diǎn)數(shù),表示能縮最小的倍數(shù)

pagingEnabled

當(dāng)值是 YES 會(huì)自動(dòng)滾動(dòng)到 subview 的邊界。默認(rèn)是NO

scrollEnabled

決定是否可以滾動(dòng)

delaysContentTouches

是個(gè)布爾值,當(dāng)值是 YES 的時(shí)候,用戶觸碰開始,scroll view要延遲一會(huì),看看是否用戶有意圖滾動(dòng)。假如滾動(dòng)了,那么捕捉 touch-down 事件,否則就不捕捉。假如值是NO,當(dāng)用戶觸碰, scroll view 會(huì)立即觸發(fā) touchesShouldBegin:withEvent:inContentView:,默認(rèn)是 YES

canCancelContentTouches

當(dāng)值是 YES 的時(shí)候,用戶觸碰后,然后在一定時(shí)間內(nèi)沒有移動(dòng),scrollView 發(fā)送 tracking events,然后用戶移動(dòng)手指足夠長(zhǎng)度觸發(fā)滾動(dòng)事件,這個(gè)時(shí)候,scrollView 發(fā)送了 touchesCancelled:withEvent: 到 subview,然后 scroView 開始滾動(dòng)。假如值是 NO,scrollView 發(fā)送 tracking events 后,就算用戶移動(dòng)手指,scrollView 也不會(huì)滾動(dòng)。

contentSize

里面內(nèi)容的大小,也就是可以滾動(dòng)的大小,默認(rèn)是0,沒有滾動(dòng)效果。

showsHorizontalScrollIndicator

滾動(dòng)時(shí)是否顯示水平滾動(dòng)條

showsVerticalScrollIndicator

滾動(dòng)時(shí)是否顯示垂直滾動(dòng)條

bounces

默認(rèn)是 yes,就是滾動(dòng)超過邊界會(huì)反彈有反彈回來的效果。假如是 NO,那么滾動(dòng)到達(dá)邊界會(huì)立刻停止。

bouncesZoom

和 bounces 類似,區(qū)別在于:這個(gè)效果反映在縮放上面,假如縮放超過最大縮放,那么會(huì)反彈效果;假如是 NO,則到達(dá)最大或者最小的時(shí)候立即停止。

directionalLockEnabled

默認(rèn)是 NO,可以在垂直和水平方向同時(shí)運(yùn)動(dòng)。當(dāng)值是 YES 時(shí),假如一開始是垂直或者是水平運(yùn)動(dòng),那么接下來會(huì)鎖定另外一個(gè)方向的滾動(dòng)。 假如一開始是對(duì)角方向滾動(dòng),則不會(huì)禁止某個(gè)方向

indicatorStyle

滾動(dòng)條的樣式,基本只是設(shè)置顏色。總共3個(gè)顏色:默認(rèn)、黑、白

scrollIndicatorInsets

設(shè)置滾動(dòng)條的位置


//只要滾動(dòng)了就會(huì)觸發(fā)

- (void)scrollViewDidScroll:(UIScrollView *)scrollView;

{

//? ? NSLog(@" scrollViewDidScroll");

NSLog(@"ContentOffset? x is? %f,yis %f",scrollView.contentOffset.x,scrollView.contentOffset.y);

}

//開始拖拽視圖

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;

{

NSLog(@"scrollViewWillBeginDragging");

}

//完成拖拽

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;

{

NSLog(@"scrollViewDidEndDragging");

}

//將開始降速時(shí)

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;

{

NSLog(@"scrollViewWillBeginDecelerating");

}

//減速停止了時(shí)執(zhí)行,手觸摸時(shí)執(zhí)行執(zhí)行

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;

{

NSLog(@"scrollViewDidEndDecelerating");

}

//滾動(dòng)動(dòng)畫停止時(shí)執(zhí)行,代碼改變時(shí)出發(fā),也就是setContentOffset改變時(shí)

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;

{

NSLog(@"scrollViewDidEndScrollingAnimation");

}

//設(shè)置放大縮小的視圖,要是uiscrollview的subview

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;

{

NSLog(@"viewForZoomingInScrollView");

return viewA;

}

//完成放大縮小時(shí)調(diào)用

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale;

{

viewA.frame=CGRectMake(50,0,100,400);

NSLog(@"scale between minimum and maximum. called after any 'bounce' animations");

}// scale between minimum and maximum. called after any 'bounce' animations

//如果你不是完全滾動(dòng)到滾軸視圖的頂部,你可以輕點(diǎn)狀態(tài)欄,那個(gè)可視的滾軸視圖會(huì)一直滾動(dòng)到頂部,那是默認(rèn)行為,你可以通過該方法返回NO來關(guān)閉它

- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView;

{

NSLog(@"scrollViewShouldScrollToTop");

returnYES;

}

- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView;

{

NSLog(@"scrollViewDidScrollToTop");

}

手勢(shì)縮放

UIScrollView的iddelegate代理對(duì)象

設(shè)置屬性:

minimumZoomScale :縮小的最小比例

maximumZoomScale :放大的最大比例

?返回正在被縮放的視圖控件

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView


正在縮放的時(shí)候調(diào)用

-(void)scrollViewDidZoom:(UIScrollView *)scrollView

縮放完畢的時(shí)候調(diào)用

-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale




UIPageControl常用屬性:

NSInteger numberOfPages : 總頁數(shù)

NSInteger currentPage : 當(dāng)前的頁碼

BOOL hidesForSinglePage : 當(dāng)只有一頁的時(shí)候,是否要隱藏視圖

監(jiān)聽UIPageControl的頁面改變:

// 添加監(jiān)聽器

[pageControl addTarget:self action:@selector(pageChange:)

forControlEvents:UIControlEventValueChanged];

// 監(jiān)聽方法

- (void)pageChange:(UIPageControl *)pageControl

{

}



燃燒
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容