UIScrollView的相關(guān)概念
首先介紹下UIScrollView的相關(guān)概念
contentSize是scrollview可以滾動的區(qū)域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960)杈笔,代表你的scrollview可以上下滾動综看,滾動區(qū)域為frame大小的兩倍肋僧。
contentOffset是scrollview當(dāng)前顯示區(qū)域頂點相對于frame頂點的偏移量,比如上個例子你拉到最下面,contentoffset就是(0 ,-480)包蓝,也就是y偏移了- 480(注意向下拉咱扣,偏移是負數(shù)绽淘,向上才是正數(shù),這個我測試過的)
contentInset是scrollview的contentview的頂點相對于scrollview的位置闹伪,例如你的contentInset = (0 ,100)沪铭,那么你的contentview就是從scrollview的(0 ,100)開始顯示
(以上引用來自http://www.cnblogs.com/try2do-neo/archive/2011/10/13/2210532.html)
概念說完了壮池,看下面的用處
1.鍵盤遮擋。
有些輸入框在View最下面杀怠,鍵盤調(diào)出來的時候椰憋,需要將輸入框調(diào)整到可見區(qū)。如果View里控件少赔退,那么直接修改frame就能實現(xiàn)橙依,自己加點動畫,效果可還不錯硕旗。
但是如果控件很多窗骑,那么一個一個控件都修改frame太繁瑣。如果將這些控件放到一個UIScrollView里漆枚,那么修改UIScrollView里的ContentOffSet的值慧域。
比如默認情況下,ContentOffSet(0浪读,0)昔榴,鍵盤輸入的時候,設(shè)置ScrollView的偏移為(0,150)(整個畫面向上移動150的像素)等輸入完成的時候再設(shè)置ScrollView為(0,0)
2.View 支持滾動
讓整個View支持上下滾動碘橘。通過xib設(shè)置的View不支持Scroll互订,使用起來不同上線滾動。用戶體驗不太好痘拆。為了讓普通的View也支持Scroll有2種辦法
1仰禽。將這個View放在TableView里.
2。 在View里添加一個ScrollView纺蛆,將所有其它的控件全放在這個ScrollView里吐葵。放在View里有個技巧。需要設(shè)置contentSize桥氏,比如你的View大小是(320温峭,480),那么ScrollView的大小需要設(shè)置為(320,481),多一個像素出來字支,讓其支持滾動凤藏,還是很好的。