UIScrollView的屬性總結

UIScrollView的屬性總結

在滾動過程當中,其實是在修改原點座標 


當手指觸摸後, scroll view會暫時攔截觸摸事件,使用一個 
計時器,假如在計時器到點後,沒有發生手指移動事件, 
那麼,scroll view發送tracking events到被點擊的subview 
假如在計時器到點前,發生了移動事件,那麼 scroll view 取消tracking 
自己發生滾動 

子類可以重載touchesShouldBegin:withEvent:inContentView: 決定自己是否接收touch事件 
pagingEnabled當值是YES,會自動滾動到subview的邊界,默認是NO 
touchesShouldCancelInContentView: 開始發送tracking messages消息給subview的時候 
調用這個方法,決定是否發送tracking messages消息到subview,假如返回NO,發送,YES則不發送 
假如 canCancelContentTouches屬性是NO,則不調用這個方法 
來影響如何處理滾動手勢 

scroll view還處理縮放和平移手勢 
要實現縮放和平移,必須實現委託viewForZoomingInScrollView: 
scrollViewDidEndZooming:withView:atScale: 
兩個方法,另外 maximumZoomScale和minimumZoomScale兩個屬性要不一樣 

幾個屬性 
tracking 
當touch後還沒有拖動的時候,值是YES,否則NO 


zoomBouncing 
當內容放大到最大或者最小的時候,值是YES,否則NO 


zooming 
當正在縮放的時候,值是YES,否則NO 

decelerating 

當滾動後,手指放開,但是還在繼續滾動中,這個時候是 YES,其他是NO 

decelerationRate 

設置手指放開後的減速率 


maximumZoomScale 
一個浮點數,表示能放最大的倍數 


minimumZoomScale 
一個浮點數,表示能縮最小的倍數 


pagingEnabled 
當值是YES,會自動滾動到subview的邊界,默認是NO 


scrollEnabled 
決定是否可以滾動 

delaysContentTouches 

是個布爾值,當值是YES的時候,用戶觸碰開始,scroll view要延遲一會,看看是否用戶有意圖滾動,假如滾動了,那麼捕捉touch-down事件,否則就不捕捉, 假如值是NO,當用戶觸碰, scroll view會立即觸發touchesShouldBegin:withEvent:inContentView:, 默認是YES 

canCancelContentTouches 
當值是YES的時候,用戶觸碰後,然後在一定時間內沒有移動,scrollView發送tracking events,然後用戶移動手指足夠長度觸發滾動事件,這個時候,scrollView發送了touchesCancelled:withEvent: 到subview,然後scroView開始滾動 
假如值是NO,scrollView發送tracking events後,就算用戶移動手指,scrollView也不會滾動 

contentSize 
裏面內容的大小,也就是可以滾動的大小,默認是0,沒有滾動效果。 

showsHorizontalScrollIndicator 
滾動時,是否顯示水平滾動條 

showsVerticalScrollIndicator 
滾動時,是否顯示垂直滾動條 

bounces 
默認是yes,就是滾動超過邊界,會反彈有反彈回來的效果,假如是 NO,那麼滾動到達邊界,那麼會連忙停止 

bouncesZoom 
和bounces類似,區別在於,這個效果反映在縮放上面,假如縮放超過最大縮放,那麼會反彈效果,假如是NO,則到達最大或者最小的時候,立即停止 

directionalLockEnabled 
默認是NO, 可以在垂直和水平方向同時運動, 當值是YES, 假如一開始是垂直或者是水平運動,那麼接下來會鎖定另外一個方向的滾動, 假如一開始是對角方向滾動,則不會禁止某個方向 

indicatorStyle 
滾動條的樣式,基本只是設置顏色,總共3個顏色,默認,黑色的,白色的 

scrollIndicatorInsets 
設置滾動條的位置 







屬性                     作用 
CGPoint contentOffSet  監控目前滾動的位置 
CGSize contentSize     滾動範圍的大小 
UIEdgeInsets contentInset    視圖在scrollView中的位置 
id<UIScrollerViewDelegate> delegate  設置協議 
BOOL directionalLockEnabled 指定控件是否只能在一個方向上滾動 
BOOL bounces         控制控件遇到邊框是否反彈 
BOOL alwaysBounceVertical   控制垂直方向遇到邊框是否反彈 
BOOL alwaysBounceHorizontal 控制水平方向遇到邊框是否反彈 
BOOL pagingEnabled 控制控件是否整頁翻動 
BOOL scrollEnabled 控制控件是否能滾動 
BOOL showsHorizontalScrollIndicator 控制是否顯示水平方向的滾動條 
BOOL showsVerticalScrollIndicator 控制是否顯示垂直方向的滾動條 
UIEdgeInsets scrollIndicatorInsets 指定滾動條在scrollerView中的位置 
UIScrollViewIndicatorStyle indicatorStyle 設定滾動條的樣式 
float decelerationRate 改變scrollerView的減速點位置 
BOOL tracking 監控當前目標是否正在被跟蹤 
BOOL dragging 監控當前目標是否正在被拖拽 
BOOL decelerating 監控當前目標是否正在減速 
BOOL delaysContentTouches 控制視圖是否延時調用開始滾動的方法 
BOOL canCancelContentTouches 控制控件是否接觸取消touch的事件 
float minimumZoomScale 縮小的最小比例 
float maximumZoomScale 放大的最大比例 
float zoomScale 設置變化比例 
BOOL bouncesZoom 控制縮放的時候是否會反彈 
BOOL zooming 判斷控件的大小是否正在改變 
BOOL zoomBouncing 判斷是否正在進行縮放反彈 
BOOL scrollsToTop 控制控件滾動到頂部
發佈了7 篇原創文章 · 獲贊 4 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章