轉自:http://blog.sina.com.cn/s/blog_8764c3140100wtoc.htmlhtml 1. @property(nonatomic) BOOL bounces //當滾動到內容邊緣是否發生反彈,default is YES. 2. @property(nonatomic) BOOL alwaysBounceHorizontal; //是否只在水平發生反彈,當內容到達 邊緣。。default is NO, 若是要只在水平反彈那麼bounces必須爲YES. 3. @property(nonatomic) BOOL alwaysBounceVertical //當滾動到達邊緣時,是否只有垂直邊緣才發生 反彈。default is no. 4. @property(nonatomic) BOOL bouncesZoom; //當在縮放時,到達圖片最大縮放倍數(maximumZoomScale) 或者是最小縮放倍數( minimumZoomScale)時,爲了告訴用戶縮放倍數已達極限,是否發生動態反彈的效果來 告訴用戶。defaults is YES. 5. @property(nonatomic) BOOL canCancelContentTouches; //當手指觸摸屏幕後,並無開始拖動,而隔一段時間後 再開始拖動,這個屬性決定是否scorllView裏的圖片是否會再繼續隨着手指的滑動,而圖片跟着滑動。defualt is NO,圖片會跟着手指滑動而滑動。 6. @property(nonatomic) CGPoint contentOffset; //scrollView裏的內容(如裏面存的圖片)的原點,距離scrollView的 frame屬性裏的原點(origin)的距離。按照通常思惟來講,如scrollView的frame爲(0,0,320,480),而scrollView裏的 圖片座標爲:(-320,0,320*2,480);那麼contentOffset應該爲(-320,0),但其實是(320,0),多是爲了方便設置,取爲 正吧,反正contentOffset的x,y是不可能爲負的,那樣表明滾動已到邊緣,發生反彈或者不能再往邊緣外拖動。 7. @property(nonatomic) CGSize contentSize; //scrollView裏能存儲圖片最大size。好比scrollView爲屏幕 大小,而要在裏面存放幾張屏幕大小的圖片,那麼必定不能忘了在放圖片以前設置contentSize. 8. @property(nonatomic, assign) id<UIScrollViewDelegate> delegate; //scrollView的代理。如: 當要實現縮放圖片時,必須實現UIScrollViewDelegate裏的兩個方法,且最大、最小縮放倍數必須不同maximumZoomScale ,minimumZoomScale: - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView; //返回要縮放的圖片(必須在代理類裏實現) - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale; //從新肯定縮放完後的縮放倍數. 經常使用來縮放方法:- (void)zoomToRect:(CGRect)rect animated:(BOOL)animated,把從scrollView裏截取的矩形 區域縮放到整個scrollView當前可視的frame裏面。因此若是截取的區域大於scrollView的frame時,圖片縮小, 若是截取區域小於frame,會看到圖片放大。通常狀況下rect須要本身計算出來。 好比,要把scrollView原來座標點爲(40,40)的內容周圍內容在scrollView裏放大一倍,能夠求出須要從scrollView裏 截取圖片的frame,固然主要是求截取圖片座標原點,能夠想象,內容放大一倍,那麼截取圖片的大小寬度確定是 scrollView的frame大小一半。以下列方法: - (CGRect) getRectWithScale:(float)scale andCenter:(float)center { CGRect newRect; newRect.size.width=scrollView.frame.size.width/scale; newRect.size.height=scrollView.frame.size.height.scale; newRect.origin.x=center.x-newRect.size.width/2; newRect.origin.y=center.y-newRect.size.height/2; return newRect; }ios 1. @property(nonatomic, getter=isDirectionalLockEnabled) BOOL directionalLockEnabled; //滾動方向的鎖定。 若是一開始拖動方向是水平或者垂直,且該屬性設置爲YES,那麼另一個方向將會被鎖定,不能在那個方向拖動了。若是 開始拖動方向爲斜的,那麼不會禁止任何一個方向的拖動。 2. @property(nonatomic) UIScrollViewIndicatorStyle indicatorStyle; //拖動圖片時,下面或者右側的那個滾動進度條 顯示的風格,固然也能夠把這個滾動條取消。能夠用下面屬性: @property(nonatomic) BOOL showsHorizontalScrollIndicator; //是否顯示水平滾動條 @property(nonatomic) BOOL showsVerticalScrollIndicator; //是否顯示垂直滾動條,default is YES 3. @property(nonatomic) float maximumZoomScale; //最大縮放倍數 @property(nonatomic) float minimumZoomScale; //最大縮小倍數 一般狀況下,最小倍數比scrollView的frame要小,而最大縮放倍數可能與contentSize有關,須要本身算出 最大縮放倍數,如:若是想最大縮放倍數爲5倍,那麼contentSize也應該設置爲5倍scrollView的frame大小。 假如想要雙擊scrollView裏的圖片放大,或者支持兩隻手指在屏幕捏放實現圖片縮放,必須重寫覆蓋繼承自 UIResponder的幾個交互方法: ﹣(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; ﹣(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event; ﹣(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event; , getter=isPagingEnabled) BOOL pagingEnabled; //是否在拖動圖片後,圖片翻到 scrollView的下一個子視圖開始邊界. default is NO @property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled; //是否能夠滾動。default is YES, 若是設置爲NO,那麼將scrollView將不會接受任何觸摸事件。 - (void)setZoomScale:(float)scale animated:(BOOL)animated; 轉自:君哥哥愛漂移的空間算法 |