iOS學習總結----UIScrollView的常用屬性及方法

 UIScrollView用於顯示多於一個屏幕的內容或者超過你能放在內存中的內容。

其中需要注意的子類是UITableView, UICollectionView 以及UITextView(用來顯示大量的文字)。還有一個UIWebView,儘管那不是UIScrollView的直接子類,它適用UIScrollView去顯示網頁內容.



如果UIScrollView⽆法滾動,可能是以下原因: 

       ➢ 沒有設置contentSize

(contentsize是內容的寬和高,contentsize.width是內容的寬度,contentsize.heght是高度,contentsizeUIScrollView的一個屬性,它是一個CGSize,是由核心圖形所定義的架構,定義了可以滾動內容的寬度和高度,也可以添加可以上下滾動的額外區域。)

  • scrollEnabled = NO

  • 沒有接收到觸摸事件:userInteractionEnabled = NO
    沒有取消autolayout功能(要想scrollView滾動,必須取消autolayout)

UIScrollView的常見屬性

@property(nonatomic)CGPointcontentOffset; 

這個屬性⽤用來表⽰示UIScrollView滾動的具體位置(偏移量),可以自己獲取和設置

@property(nonatomic)CGSizecontentSize;
這個屬性⽤用來表⽰示UIScrollView內容的尺⼨寸,滾動範圍(能滾多遠)


@property(nonatomic)UIEdgeInsetscontentInset; 這個屬性能夠在UIScrollView4周增加額外的滾動區域

UIScrollView的其他屬性


@property(nonatomic) BOOL bounces; 
設置UIScrollView是否需要彈簧效果

@property(nonatomic,getter=isScrollEnabled)BOOLscrollEnabled;
設置UIScrollView是否能滾動

@property(nonatomic) BOOL bounces;
設置UIScrollView是否需要彈簧效果

@property(nonatomic,getter=isScrollEnabled)BOOLscrollEnabled; 
設置UIScrollView是否能滾動

@property(nonatomic) BOOL showsHorizontalScrollIndicator;
是否顯⽰⽔平滾動條

@property(nonatomic) BOOL showsVerticalScrollIndicator;
是否顯示垂直滾動條


當⽤戶在UIScrollView⾝上使用捏合⼿勢時,UIScrollView會調⽤代理的 viewForZoomingInScrollView:⽅法,這個⽅法返回的控件就是需要進行縮放的子控件

縮放實現步驟

  1. 設置UIScrollViewid<UISCrollViewDelegate> delegate代理對象

  2. 設置minimumZoomScale :縮小的最小比例

  3. 設置maximumZoomScale :放大的最大比例

4. 讓代理對象實現下⾯的方法,返回需要縮放的視圖控件


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

 跟縮放相關的其他代理方法
  縮放完畢的時候調⽤
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView
withView:(UIView *)view

正在縮放的時候調⽤
- (void)scrollViewDidZoom:(UIScrollView *)scrollView


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