//1.設定滾定條的樣式 typedef NS_ENUM(NSInteger, UIScrollViewIndicatorStyle) { UIScrollViewIndicatorStyleDefault, // black with white border. good against any background 黑白邊框 UIScrollViewIndicatorStyleBlack, // black only. smaller. good against a white background 純黑邊框 UIScrollViewIndicatorStyleWhite // white only. smaller. good against a black background 純白邊框 }; //2.在UIScrollView中鍵盤的消失方式 typedef NS_ENUM(NSInteger, UIScrollViewKeyboardDismissMode) { UIScrollViewKeyboardDismissModeNone, 默認樣式 UIScrollViewKeyboardDismissModeOnDrag, // dismisses the keyboard when a drag begins 設定鍵盤的消失方式為拖拉頁面 UIScrollViewKeyboardDismissModeInteractive, // the keyboard follows the dragging touch off screen, and may be pulled upward again to cancel the dismiss 設定鍵盤消失方式為拖拉並點擊頁面 } NS_ENUM_AVAILABLE_IOS(7_0); //3.這個參數可以設置減速的速率 UIKIT_EXTERN const CGFloat UIScrollViewDecelerationRateNormal NS_AVAILABLE_IOS(3_0); //4.這個參數可以設置減速的速率 UIKIT_EXTERN const CGFloat UIScrollViewDecelerationRateFast NS_AVAILABLE_IOS(3_0); //5.從內容視圖的原點偏移的一個點 @property(nonatomic) CGPoint contentOffset; //6.內容視圖的大小 @property(nonatomic) CGSize contentSize; //7.內容視圖的距離,是從封閉的滾動視圖插圖 @property(nonatomic) UIEdgeInsets contentInset; around content //8.滾動視圖的代理 @property(nonatomic,assign) id<UIScrollViewDelegate> delegate; //9.一個bool值,用來決定是否在某一特定方向禁用滾動 @property(nonatomic,getter=isDirectionalLockEnabled) BOOL directionalLockEnabled; //10.控制滾動視圖是否反彈過去內容的邊緣,然後再返回一個布爾值 @property(nonatomic) BOOL bounces; //11.如果這個屬性被設置成YES而且bounces的值是YES,垂直拖動是允許的內容,即使小魚滾動視圖的邊界,默認是NO @property(nonatomic) BOOL alwaysBounceVertical; //12.一個布爾值,決定是否反彈總是發生在垂直滾動到達結束內容,默認值是NO @property(nonatomic) BOOL alwaysBounceHorizontal; //13.一個布爾值 決定是否棄用分頁滾動視圖 @property(nonatomic,getter=isPagingEnabled) BOOL pagingEnabled; //14.決定是否棄用滾動 @property(nonatomic,getter=isScrollEnabled) BOOL scrollEnabled; //15.控制水平滾動指標是否可見的 @property(nonatomic) BOOL showsHorizontalScrollIndicator; //16.控制垂直滾動指標是否是可見的 @property(nonatomic) BOOL showsVerticalScrollIndicator; //17.滾動指標點到滾動視圖的邊緣的距離 @property(nonatomic) UIEdgeInsets scrollIndicatorInsets; //18.指示器的風格設置 @property(nonatomic) UIScrollViewIndicatorStyle indicatorStyle; //19.默認減速率 @property(nonatomic) CGFloat decelerationRate NS_AVAILABLE_IOS(3_0); //20.設置從內容原點偏移到指定點的方法 - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated; //21.滾動一個特定區域的內容以便它在接受是可見的 - (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated; //22.暫時顯示滾動指標 - (void)flashScrollIndicators; //23.返回判斷是否用戶碰觸內容觸發滾動(只讀) @property(nonatomic,readonly,getter=isTracking) BOOL tracking; //24.一個布爾值 知識用戶是否已經開始滾動內容 @property(nonatomic,readonly,getter=isDragging) BOOL dragging; //25.返回的內容是否在滾動視圖後,用戶接觸他們的手指(只讀) @property(nonatomic,readonly,getter=isDecelerating) BOOL decelerating; //26.一個布爾值,決定是否推遲滾動視圖觸摸手勢的處理 @property(nonatomic) BOOL delaysContentTouches; //27.如果這個值設置為YES,那麼當你在UIScrollView上面放置任何子視圖的時候,當你在子視圖上移動的時候,UIScrollView會給子視圖發送touchCancel消息,而如果該屬性設置為NO,ScollView本身不處理這個消息,全部交給子視圖處理 @property(nonatomic) BOOL canCancelContentTouches; //28.自定義默認行為,當手指觸摸在顯示的內容由子類重寫 - (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view; //29.它開始發送跟蹤郵件的內容視圖後動視圖調用此方法。如果它從這種方法受到NO便停止拖動和轉發觸摸時間的內容子視圖。 - (BOOL)touchesShouldCancelInContentView:(UIView *)view; //30.浮點值 指定可應用於滾動視圖的內容的最低比例因子 @property(nonatomic) CGFloat minimumZoomScale; //31.一個浮點值指定可用於滾動視圖的內容的最大規模的因素 @property(nonatomic) CGFloat maximumZoomScale; //32.一個浮點值 指定目前用於滾動視圖的內容的比例因子 @property(nonatomic) CGFloat zoomScale NS_AVAILABLE_IOS(3_0); //33.一個浮點數指定當前的縮放比例 - (void)setZoomScale:(CGFloat)scale animated:(BOOL)animated NS_AVAILABLE_IOS(3_0); //34.縮小到特定區域的內容,所以它是在接收器中可見 - (void)zoomToRect:(CGRect)rect animated:(BOOL)animated NS_AVAILABLE_IOS(3_0); //35.一個布爾值,決定當當縮放超過上限或是下限時是否滾動視圖推動內容縮放 @property(nonatomic) BOOL bouncesZoom; //36.一個布爾值 指示內容是否認為正在方法或者縮小(只讀) @property(nonatomic,readonly,getter=isZooming) BOOL zooming; //37.一個布爾值 指示縮放已超過指定的接受范圍 @property(nonatomic,readonly,getter=isZoomBouncing) BOOL zoomBouncing; //38.一個布爾值 控制是否滾動到頂部的姿態是有效地 @property(nonatomic) BOOL scrollsToTop; //39.拖動手勢(只讀) @property(nonatomic, readonly) UIPanGestureRecognizer *panGestureRecognizer NS_AVAILABLE_IOS(5_0); //40.向裡向外捏用於縮放 @property(nonatomic, readonly) UIPinchGestureRecognizer *pinchGestureRecognizer NS_AVAILABLE_IOS(5_0); //41.設置見哦按的小事樣式 @property(nonatomic) UIScrollViewKeyboardDismissMode keyboardDismissMode NS_AVAILABLE_IOS(7_0); @end @protocol UIScrollViewDelegate<NSObject> @optional //42.scrollView正在滾動的時候調用 - (void)scrollViewDidScroll:(UIScrollView *)scrollView; //43.scrollView正在被拖動的時候調用 - (void)scrollViewDidZoom:(UIScrollView *)scrollView NS_AVAILABLE_IOS(3_2); //44. scrollView開始拖拽的時候調用 - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView; //45. scrollView將要結束拖拽的時候調用 - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset NS_AVAILABLE_IOS(5_0); //46. scrollView完成拖拽的時候調用 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate; //47. scrollView將開始降速的時候調用 - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView; //48. scrollView在減速停止了時候執行,手觸摸時候執行 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView; //49. 滾動動畫停止時執行代碼改變時觸發,也就是setContentOffset改變的時候 - (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView; //50.返回一個放大或者縮小的視圖 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView; //51.開始放大或者縮小時候調用 - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view NS_AVAILABLE_IOS(3_2); //52.縮放結束時候調用 - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale; //53.是否支持滾動至頂部 - (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView; //54.滾動頂部時候調用該方法 - (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView; @end