UIScrollView的相關概念

UIScrollView的相關概念
首先介紹下UIScrollView的相關概念

contentSize是scrollview可以滾動的區(qū)域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滾動,滾動區(qū)域為frame大小的兩倍。
contentOffset是scrollview當前顯示區(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最下面,鍵盤調出來的時候,需要將輸入框調整到可見區(qū)。如果View里控件少,那么直接修改frame就能實現(xiàn),自己加點動畫,效果可還不錯。
但是如果控件很多,那么一個一個控件都修改frame太繁瑣。如果將這些控件放到一個UIScrollView里,那么修改UIScrollView里的ContentOffSet的值。
比如默認情況下,ContentOffSet(0,0),鍵盤輸入的時候,設置ScrollView的偏移為(0,150)(整個畫面向上移動150的像素)等輸入完成的時候再設置ScrollView為(0,0)
2.View 支持滾動
讓整個View支持上下滾動。通過xib設置的View不支持Scroll,使用起來不同上線滾動。用戶體驗不太好。為了讓普通的View也支持Scroll有2種辦法
1。將這個View放在TableView里.
2。 在View里添加一個ScrollView,將所有其它的控件全放在這個ScrollView里。放在View里有個技巧。需要設置contentSize,比如你的View大小是(320,480),那么ScrollView的大小需要設置為(320,481),多一個像素出來,讓其支持滾動,還是很好的。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容