scrollView整體介紹及其使用方法

1.在scroView上拖一個imageView 設置其大小,而後設置contentSize的大小,只能用代碼設置。在設置contentOffSet屬性(contentOffSet的屬性特色,是一個point設置成正值向上移動)。contentInSet = UIEdgeInSetMake(a, b, c, d);他的值是scrollView的邊距進行增長算法


項目一:喜馬拉雅分析oop


1.分析頁面結構spa

2.要在stroryBoard上拖控件代理

        (1)分次序,添加九宮格的算法orm

(2)設置contentSize 經過獲取最大的Y只獲取size的Y值,若是是一些常量,儘可能使用宏定義,方便修改對象

(3)注意autoLayOut事件

(4)添加按鈕,控制屬性變化並記錄當前位置,修改contentOffSet屬性  圖片

3.使用代理步驟it

1>聲明協議io

2>設置代理

3>實現協議中的方法

scrollView操做是調用的方法,實現協議中的方法

用戶開始拖拽時某個scrollView時調用()

縮放使用,監聽手勢的捏合,viewForZoomingInsscrollView方法 

(1)設置縮放內容

(2)設置縮放範圍


設置scrollView的maxmumZoomScale = .5 (設置放大的範圍)

在模擬器上按住option鍵進行縮放

4.圖片輪播

1.UI

1>scrollView :分析UI如何實現,用代碼建立,

2>圖片 :經過FOR循環建立5個imageView,這個每一個imageView的x值,及其frame添加到scrollView中

3>UIPageControll (在storyBoard中添加pageControl控件,注意不要添加到scrollView裏面,不要直接拖,要經過修改Y值來放到scrollView上面)


2.業務邏輯

1>拖動:設置scrollView的分頁屬性 pagingEnable = yes;

2>設置頁碼 :在代理中設置頁碼,獲取scrollView的contentOffset屬性,計算出對應的頁碼,將頁碼賦值給pageControl的currentPage屬性。計算的算法爲:(當前的offset.x  + 屏幕寬度的一半)/ 屏幕的寬度;

3>自動滾動:添加定時器,兩種方法。首先聲明NSTimer對象,一種經過timerWithTimeInterval設置,另外一種是經過scheduleTimeWithTimeInterval。而後將定時器添加到主時鐘上。兩種方式的區別:1. scheduleTimeWithTimeInterval只能同時響應一個事件,要麼是定時器事件,要麼是用戶操做如拖拽事件。若是同時發生,優先執行用戶事件。而timerWithTimeInterval須要將定時器手動添加到主循環中,模式有兩種,一種是NSRunLoopDefaultmode,另外一種是NSRunLoopComonModes。這種模式能夠同時響應兩種事件。

經過代理的方式,當拖拽時使用scrollViewWillBeginDragging方法,去掉定時器。方法是調用NSTimer中的invalidate方法中止定時器,而且使timer = nil;

中止拖拽時調用scrollViewDidEndDragging方法,添加定時器,調用添加方法便可。

相關文章
相關標籤/搜索