三大屬性: self.scrollView.pageEnabled = NO 是否分頁;n只要將UIScrollView的pageEnabled屬性設置爲YES,UIScrollView會被分割成多個獨立頁面,裏面的內容就能進行分頁展現
contentSize設置的是要展現的內容的大小 size(若是小於scrollView的frame將沒法滾動) atom
contentInset是在contentSize的基礎上額外增長的滾動區域 spa
//self.scrollView.contentInset = UIEdgeInsetsMake(上,左, 下,右) 代理
設置scrollView的frame 是scrollView的可視範圍 對象
contentOffset 是scrollView 滾動的位置(相對於整個內容(contentSize)的左上角爲原點 ) 事件
// 設置最大和最小的縮放比例get
self.scollView.maximumZoomScale = 2.0;
self.scollView.minimumZoomScale = 0.2;
UIScrollViewDelegate 代理方法 it
//使用捏合手勢的時候調用 io
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
//將要進行縮放的時候
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view 基礎
//結束縮放時調用 - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{ * 只要一次拖拽沒有結束,就不會再調用.一次拖拽,只會調用一次
NSLog(@"---開始拖拽-----");
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{ * 只要是在滾動,就會一直調用整個方法
NSLog(@"----正在滾動----");
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{ * 一次拖拽,只會調用一次
NSLog(@"-----已經結束拖拽-----「);
n若是UIScrollView沒法滾動,多是如下緣由: autolayout
1沒有設置contentSize
2scrollEnabled = NO
3沒有接收到觸摸事件:userInteractionEnabled = NO
4沒有取消autolayout功能(要想scrollView滾動,必須取消autolayout)
@property(nonatomic) BOOL bounces;
設置UIScrollView是否須要彈簧效果
@property(nonatomic,getter=isScrollEnabled) BOOL scrollEnabled;
設置UIScrollView是否能滾動
@property(nonatomic) BOOL showsHorizontalScrollIndicator;
是否顯示水平滾動條
@property(nonatomic) BOOL showsVerticalScrollIndicator;
是否顯示垂直滾動條
縮放實現步驟
1.設置UIScrollView的id<UISCrollViewDelegate> delegate代理對象
2.設置minimumZoomScale :縮小的最小比例
3.設置maximumZoomScale :放大的最大比例
4.讓代理對象實現下面的方法,返回須要縮放的視圖控件
- (UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView;
•跟縮放相關的其餘代理方法
縮放完畢的時候調用
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view
正在縮放的時候調用
- (void)scrollViewDidZoom:(UIScrollView *)scrollView