亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ios之UIScrollerView滾動(dòng)視圖總結(jié)

 更新時(shí)間:2017年01月17日 17:21:14   作者:annkey123  
本篇文章主要介紹了ios之UIScrollerView滾動(dòng)視圖總結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

UIScrollView 類負(fù)責(zé)所有基于 UIKit 的滾動(dòng)操作。

一、創(chuàng)建

CGRect bounds = [ [ UIScreen mainScreen ] applicationFrame ] ; 
UIScrollView* scrollView = [ [UIScrollView alloc ] initWithFrame:bounds ]; 

當(dāng)你創(chuàng)建完滾動(dòng)視圖后,你可以將另一個(gè)視圖的內(nèi)容粘合到滾動(dòng)視圖的空白頁(yè)上。這回創(chuàng)建一個(gè)滾動(dòng)的內(nèi)容窗口:

[ scrollView addSubview:myView]; 

你必須給出內(nèi)容的實(shí)際大小,這樣滾動(dòng)視圖才知道滾動(dòng)的范圍:

scrollView.contentSize = myView.frame.size; 

要開(kāi)啟縮放功能需要調(diào)整視圖的兩個(gè)屬性,分別是maxinumZoomScale 和 mininumZoomScale 。這樣就可以允許用戶使用捏合手勢(shì)調(diào)整內(nèi)容大?。?/p>

scrollView.maxinumZoomScale = 2.0;//允許放大2倍 
scrollView.mininumZoomScale = 0.5;//允許放大到0.5倍 

要打開(kāi)縮放功能,你還需要增加一個(gè)UIScrollViewDelegate 代理,通過(guò)一個(gè)名為 viewForZoomingScrollView
的方法做出響應(yīng)。這個(gè)方法會(huì)返回進(jìn)行縮放時(shí)所使用的 UIView 對(duì)象:

scrollView.delegate = self; 
- (UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView{ 
 retutn myView; 
} 

Tips:對(duì)于大規(guī)模數(shù)據(jù),你可能會(huì)在最初使用一個(gè)低于實(shí)際大小(1.0)的縮放比例,讓用戶可以平滑地進(jìn)行放大。

二、屬性

除了上面用到的縮放屬性外,滾動(dòng)視圖還有會(huì)讓你多其他屬性,可以對(duì)現(xiàn)實(shí)內(nèi)容的行為進(jìn)行微調(diào)。你可以對(duì) UIScrollView 類進(jìn)行多方位定制。下面這些屬性是最常用的。

1.indicatorStyle

指定你希望使用的滾動(dòng)條指示器的類型。默認(rèn)行為是在白邊界上繪制黑色的滾動(dòng)條,這在大多數(shù)背景下都適用。可用風(fēng)格如下:

  • UIScrollViewIndicatorStyleDefault 
  • UIScrollViewIndicatorStyleBlack 
  • UIScrollViewIndicatorStyleWhite 

2.contentOffset

一個(gè)CGPoint結(jié)構(gòu),其中包含有要顯示內(nèi)容相對(duì)于窗口左上角的偏移量。默認(rèn)是從0×0開(kāi)始的,但是你也可以將顯示內(nèi)容放在其他位置。

3.directionalLockEnabled

默認(rèn)行為是允許用戶同時(shí)進(jìn)行橫向和縱向的滾動(dòng)。將這個(gè)屬性設(shè)置為YES會(huì)導(dǎo)致將用戶的滾動(dòng)行為鎖定成只允許橫向或縱向進(jìn)行,具體方向由初始姿態(tài)決定。

4.bounces

當(dāng)用戶抵達(dá)滾動(dòng)區(qū)域邊緣時(shí),這個(gè)功能允許用戶稍微拖動(dòng)到邊界外一點(diǎn)。當(dāng)用戶松開(kāi)手指后,這個(gè)區(qū)域會(huì)像個(gè)橡皮筋一樣,彈回到原位,給用戶一個(gè)可見(jiàn)的提示,表示他已經(jīng)到達(dá)了文檔開(kāi)始或結(jié)束位置。如果不想讓用戶的滾動(dòng)范圍能夠超出可見(jiàn)內(nèi)容,可以將這個(gè)屬性設(shè)置為NO。

5.bouncesZoom

類似于bounces 選項(xiàng),這個(gè)方法可以令用戶的縮放操作超出最大或最小縮放級(jí)別,然后彈回到范圍以內(nèi)。如果你不想讓用戶能夠超出你指定的范圍進(jìn)行縮放,將這個(gè)屬性設(shè)置為NO。

6.pagingEnabled

當(dāng)開(kāi)啟了分頁(yè)功能時(shí),滾動(dòng)視圖被分割成多個(gè)獨(dú)立區(qū)段,二用戶的滾動(dòng)體驗(yàn)則變成了頁(yè)面翻轉(zhuǎn),你可以用這個(gè)屬性來(lái)進(jìn)行頁(yè)面翻轉(zhuǎn)。

三、委托方法

可以賦予滾動(dòng)視圖一個(gè)委托,下列委托方法會(huì)在特定時(shí)刻收到通知。

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

//會(huì)在視圖滾動(dòng)時(shí)收到通知。包括一個(gè)指向被滾動(dòng)視圖的指針,從中可以讀取contentOffset屬性以確定其滾動(dòng)到的位置。 
-(void)scrollViewWillBeginDragging:(UISCrollView*)scrollView;
//當(dāng)用戶首次在某個(gè)方向上進(jìn)行拖動(dòng)時(shí)得到通知。這個(gè)方法會(huì)得到被作為參數(shù)傳遞的滾動(dòng)視圖指針,也同樣可以從中讀取 contentOffset 屬性。
-(void)scrollViewDidEndDragging:(UIScrollView*)scrollView willDecelerate:(BOOL)decelerate; 
//當(dāng)用戶抬起拖動(dòng)到手指時(shí)得到通知。還會(huì)得到一個(gè)布爾值,知名報(bào)告滾動(dòng)視圖最后位置之前,是否需要減速。 
-(void)scrollViewWillBeginDecelerate:(UIScrollView*)scrollView;
//當(dāng)用戶抬起手指而視圖需要繼續(xù)移動(dòng)時(shí),會(huì)收到通知。這個(gè)方法可以用來(lái)讀取 contentOffset屬性,從而判斷出當(dāng)用戶抬起手指錢最后一次滾動(dòng)到的位置,雖然這個(gè)位置并不會(huì)使?jié)L動(dòng)條的最終停止位置。 
-(void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView;
//當(dāng)上面提到的減速完畢、滾動(dòng)視圖停止時(shí)得到通知。收到這個(gè)通知的時(shí)刻,滾動(dòng)視圖的contentOffset屬性會(huì)反映出滾動(dòng)條最終停止的位置。 
-(void)scrollViewDidEndZooming:(UIScrollview*)scrollView withView:(UIView*)view atScale:(float)scale;
//當(dāng)用戶對(duì)內(nèi)容進(jìn)行縮放時(shí),會(huì)收到通知??s放比例表示為一個(gè)浮點(diǎn)值,會(huì)作為參數(shù)傳遞進(jìn)來(lái)。 
-(BOOL)scrollViewShouldScrollToTop:(UIScrollView*)scrollView; 
-(void)scrollViewDidScrollToTop:(UIScrollView*)scrollView; 
//當(dāng)用戶點(diǎn)出iPhone狀態(tài)條時(shí),滾動(dòng)視圖委托可以決定視圖是否滾動(dòng)回到開(kāi)頭。 

OK,都總結(jié)完了,后面會(huì)寫一個(gè)頁(yè)面翻轉(zhuǎn)的例子敬請(qǐng)關(guān)注。

屬性和作用

  • CGPoint contentOffSet 監(jiān)控目前滾動(dòng)的位置
  • CGSize contentSize 滾動(dòng)范圍的大小
  • UIEdgeInsets contentInset 視圖在scrollView中的位置
  • id<UIScrollerViewDelegate>
  • delegate 設(shè)置協(xié)議
  • BOOL directionalLockEnabled 指定控件是否只能在一個(gè)方向上滾動(dòng)
  • BOOL bounces 控制控件遇到邊框是否反彈
  • BOOL alwaysBounceVertical 控制垂直方向遇到邊框是否反彈
  • BOOL alwaysBounceHorizontal 控制水平方向遇到邊框是否反彈
  • BOOL pagingEnabled 控制控件是否整頁(yè)翻動(dòng)
  • BOOL scrollEnabled 控制控件是否能滾動(dòng)
  • BOOL showsHorizontalScrollIndicator 控制是否顯示水平方向的滾動(dòng)條
  • BOOL showsVerticalScrollIndicator 控制是否顯示垂直方向的滾動(dòng)條
  • UIEdgeInsets scrollIndicatorInsets 指定滾動(dòng)條在scrollerView中的位置
  • UIScrollViewIndicatorStyle indicatorStyle 設(shè)定滾動(dòng)條的樣式
  • float decelerationRate 改變scrollerView的減速點(diǎn)位置
  • BOOL tracking 監(jiān)控當(dāng)前目標(biāo)是否正在被跟蹤
  • BOOL dragging 監(jiān)控當(dāng)前目標(biāo)是否正在被拖拽
  • BOOL decelerating 監(jiān)控當(dāng)前目標(biāo)是否正在減速
  • BOOL delaysContentTouches 控制視圖是否延時(shí)調(diào)用開(kāi)始滾動(dòng)的方法
  • BOOL canCancelContentTouches 控制控件是否接觸取消touch的事件
  • float minimumZoomScale 縮小的最小比例
  • float maximumZoomScale 放大的最大比例
  • float zoomScale 設(shè)置變化比例
  • BOOL bouncesZoom 控制縮放的時(shí)候是否會(huì)反彈
  • BOOL zooming 判斷控件的大小是否正在改變
  • BOOL zoomBouncing 判斷是否正在進(jìn)行縮放反彈
  • BOOL scrollsToTop 控制控件滾動(dòng)到頂部

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論