ScrollView滾動視圖

 UIScrollView:提供可以顯⽰示⼤大於應⽤用窗⼜⼝口的內容功能的控件, ⽤用戶可以通過⼿手勢使內容滾動和縮放,從⽽而查 看全部內容。

 

   初始化一個UIScrollView的對象

1     UIScrollView *_scroll=[[UIScrollView alloc] init];

      首先介紹一下UIScrollView這個類的基本屬性  

    屬性:  contentSize     滾動視圖的內容大小

    //UIScrollView能夠滾動的前提是contentsize大於大的本身尺寸。即大於fram
    _scroll.contentSize=CGSizeMake(1000, 1000);

   這樣就將這個滾動視圖的內容大小變爲(1000,1000)了

    屬性:  scrollEnabled     控制是否能滾動,默認爲YES

 

    //控制能否滾動的屬性,默認爲YES,這樣就將設置爲不能滾動了
//    _scroll.scrollEnabled=NO;

 

   屬性:  contentOffset   偏移量

    //contentoffset偏移量的正方向與座標系的方向剛剛相反,這樣就將視圖向右 向下各移了100個像素點
//    _scroll.contentOffset=CGPointMake(-100, -100);

 

   屬性:  contentINset   內容與邊界的距離

 

 //contentINset(內容與邊界的距離)不能改變contentSize的大小(top/left/bottom/right)(上左下右) 這樣內容就可
   以向左向右向下向上多移相應的像素點,就可以與邊界相距相應的像素點
//    _scroll.contentInset=UIEdgeInsetsMake(100, 100, 0,0);

 

 未設置上一步之前:視圖向上 向左 最多隻能這樣:     但是經過上一步的設置以後 視圖向上 向左 最多可以這樣(紅色爲滾動視圖的背景色):

                                            

 

 

 

   屬性:  scrollsToTop      看代碼

 

//相當於提供滾動到頂部的快捷方式(導航欄那裏),只將垂直方向移到頂部,橫向方向不變。在同一個頁面,
   只能有一個Scroll具備這個能力,如果有兩個都具備這個功能,那麼這個功能會全部失效
    _scroll.scrollsToTop=YES;

 

  接下的幾個屬性看代碼根號理解:

複製代碼
    //控制水平滾動的顯示,默認是顯示的。
//    _scroll.showsHorizontalScrollIndicator=NO;
    //控制垂直滾動的顯示,默認是顯示的。
//    _scroll.showsVerticalScrollIndicator=NO;
    
    //定向鎖定 打開的話只能沿一個方向(水平或垂直)滾動,不能兩個方向一起滾動,也就說不能沿對角線滾動,
       默認是關NO
//    _scroll.directionalLockEnabled=YES;
    
    //反彈效果的開關,YES的話就會有這樣的一個效果:滾動到邊界還可以滾一段,然後在反彈回來,默認是YES。
//    _scroll.bounces=NO;
    
    //這是我們經常要設置的一個屬性,YES的話:使滾動整頁出現,滾動超過半屏就會跳到下一頁,否則回到上一頁。    
     默認是NO。
//    _scroll.pagingEnabled=YES;
複製代碼

 

  滾動視圖是可以按比例來將其中的某一個子視圖 放大縮小的,實現縮放要進行下面幾部:

   1  首先掛出協議<UIScrollViewDelegate>

   2       設置 最大縮放比例 最小縮放比例  縮放比例
       _scroll.maximumZoomScale = 10;
       _scroll.minimumZoomScale = 0.1;
       _scroll.zoomScale = 3;

  3實現協議方法:-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView  

       返回的 UIView就是你要縮放的子視圖,但是要注意的是:如果使用了縮放,contentSize的大小與被縮放的視圖尺寸相同

   協議<UIScrollViewDelegate>裏面還有一些可能我們用的到一些 時機的方法:

  //滾動就調用 連續調用
  - (void)scrollViewDidScroll:(UIScrollView *)scrollView;
  //開始拖動時調用
  -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;

  //結束拖動時調用
  -(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset;

   //將要開始減速時調用

    – scrollViewWillBeginDecelerating

   //減速結束時調用

    – scrollViewDidEndDecelerating

協議裏還有很多的方法 ,今天就介紹到這裏。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章