UIScrollView 類負責全部基於 UIKit 的滾動操做。算法
1、建立app
或者函數
當你建立完滾動視圖後,你能夠將另外一個視圖的內容粘合到滾動視圖的空白頁上。這回建立一個滾動的內容窗口:spa
你必須給出內容的實際大小,這樣滾動視圖才知道滾動的範圍:.net
要開啓縮放功能須要調整視圖的兩個屬性,分別是maxinumZoomScale 和 mininumZoomScale 。這樣就能夠容許用戶使用捏合手勢調整內容大小:設計
要打開縮放功能,你還須要增長一個UIScrollViewDelegate 代理,經過一個名爲viewForZoomingScrollView 的方法作出響應。這個方法會返回進行縮放時所使用的 UIView 對象:代理
Tips:對於大規模數據,你可能會在最初使用一個低於實際大小(1.0)的縮放比例,讓用戶能夠平滑地進行放大。指針
2、屬性對象
除了上面用到的縮放屬性外,滾動視圖還有會讓你多其餘屬性,能夠對現實內容的行爲進行微調。你能夠對 UIScrollView 類進行多方位定製。下面這些屬性是最經常使用的。blog
1.indicatorStyle
指定你但願使用的滾動條指示器的類型。默認行爲是在白邊界上繪製黑色的滾動條,這在大多數背景下都適用。可用風格以下:
2.contentOffset
一個CGPoint結構,其中包含有要顯示內容相對於窗口左上角的偏移量。默認是從0×0開始的,可是你也能夠將顯示內容放在其餘位置。
3.directionalLockEnabled
默認行爲是容許用戶同時進行橫向和縱向的滾動。將這個屬性設置爲YES會致使將用戶的滾動行爲鎖定成只容許橫向或縱向進行,具體方向由初始姿態決定。
4.bounces
當用戶抵達滾動區域邊緣時,這個功能容許用戶稍微拖動到邊界外一點。當用戶鬆開手指後,這個區域會像個橡皮筋同樣,彈回到原位,給用戶一個可見的提示,表示他已經到達了文檔開始或結束位置。若是不想讓用戶的滾動範圍可以超出可見內容,能夠將這個屬性設置爲NO。
5.bouncesZoom
相似於bounces 選項,這個方法能夠令用戶的縮放操做超出最大或最小縮放級別,而後彈回到範圍之內。若是你不想讓用戶可以超出你指定的範圍進行縮放,將這個屬性設置爲NO。
6.pagingEnabled (參考:UIPageControl 分頁控件-IOS開發)
當開啓了分頁功能時,滾動視圖被分割成多個獨立區段,二用戶的滾動體驗則變成了頁面翻轉,你能夠用這個屬性來進行頁面翻轉。
UIPageControl有一個userInteractionEnabled你能夠設置它爲NO。就是點擊的時候它不調用任何方法。而後設置它的currentPage 爲0,並把它加到view上去。
接下來在UIScrollView的delegate方法:
在這裏你能夠寫上關於UIPageControl的頁面設置的算法。以下
3、委託方法
能夠賦予滾動視圖一個委託,下列委託方法會在特定時刻收到通知。
OK,都總結完了,後面會寫一個頁面翻轉的例子敬請關注。
來源: http://blog.csdn.net/iukey/article/details/7319314
實例:
viewcontroller.h
viewcontroller.m
拖拽scrollview視圖到Fist Responder.
1. XIB文件的理解
經過IB設計的CnView和EnView分別對應一個XIB文件,在CnView的XIB文件中,主要採用XML格式描述了Button和Label控件的屬性(這裏不考慮View自己的背景等屬性),有個Button和Label,以及Button和Label的位置、大小等。EnView的XIB文件相似。
2. ViewController
每一個View對應有個視圖控制器(多個View能夠採用同一個視圖控制器,後邊再說),能夠看作MVC中的C(儘管嚴格意義上不是),好比:CnView界面點擊按鈕以後的響應動做是由ViewController來實現的。
3. XIB和ViewController之間的關係
XIB是表現,ViewController一方面響應XIB上的操做(好比點擊、滑動等),同時也控制XIB的顯示。
4. File's Owner
重點就是這裏了,View和ViewController之間的對應關係,須要一個橋樑來進行鏈接的(即,對於一個視圖,他如何知道本身的界面的操做應該由誰來響應),這個橋樑就是File's Owner。
選中某個XIB的File's Owner,在Inspector中能夠看到屬性:File Name和Custom Class,該File's Owner就是用來綁定File Name中的xib文件和Custom Class中的ViewController的,在作了這個綁定以後,按住control鍵,拖動File's Owner到xib中的某個控件的時候,就是Custom Class中定義的IBOutlet元素與xib中元素進行鏈接的過程,一樣,拖動"xib中的控件的動做"到File's Owner的時候,就是將xib中該動做的響應與Custom Class中某個IBAction進行鏈接的過程。
所以,在存在多個xib文件的狀況下,即:有多個View,那麼每一個View能夠採用不一樣的ViewController,也能夠所有采用相同的一個ViewController,經過File's Owner進行關聯便可。
其實,File's Owner就是Custom Class類型的對象,而xib中的其餘元素都是該對象的成員變量,可是須要手動來關聯Custom Class中的成員變量與xib中對象之間的關係。
5. First Responder
View中每次只會有一個對象與用戶進行交互,那麼當前交互的對象即爲First Responder。好比點擊文本框,那麼此時文本框就是First Responder
6. IB中的File's Owner是一個對象,擁有界面元素的拷貝
一個是IBOutlet :指界面元素在代碼中的’代號‘
一個是IBAction:指界面元素產生事件在代碼中的觸發函數