iOS開發之 UIScrollView的frame、contentSize、contentOffset和contentInset屬性


ios中下拉圖片變大效果

http://blog.csdn.net/mad2man/article/details/14169197

 

IOS中UIScrollView的frame、contentSize、contentOffset和contentInset屬性

(1) frame            :是指scrollview的可視范圍(可看見的區域)。

(2)contentsize    :是其滾動范圍。UIScrollView所有內容的尺⼨寸,也就是告訴 它滾動的范圍(能滾多遠,就滾多遠) 

(3)contentinset  :為UIScrollView增加額外的滾動區域。(上,左,下,右)逆時針。

(5)contentoffset :是個CGpoint類型的結構體,用來記錄ScrollView的滾動位置,即記錄着“框”跑到了哪里。知道了這個屬性,就知道了其位置,可以通過設置這個屬性來控制這個“框”的移動。坐標值,會隨着用戶滑動內容視圖,而改變。

 

contentInset是scrollview的contentview的頂點相對於scrollview的位置

設置內容位置{top, left, bottom, right};// 增加額外的滾動區域(逆時針,上、左、下、右)

scrollView.contentInset = UIEdgeInsetsMake(50, 0, 0, 0);

這樣定義后,內容視圖開始顯示的坐標為(0,51)

contentOffset 的默認點為 CGPointZero 

 

下面具體解釋一下。

就像兩張重疊在一起的紙,上面的紙中間有個320*480的屏幕狀的洞,然后下面的紙可以無限大,顯示是內容,你可以將手指通過這張洞來移動下面的紙,來閱讀上面的信息,所以,懂了吧。

 

contentOffset是UIScrollView當前顯示區域的頂點相對於frame頂點的偏移量,

值得注意的是:

1.內容視圖的contentOffset為負數時,在滾動視圖中是看不到的。

contentSize 是scrollview中的一個屬性,它代表scrollview中的可顯示區域,假如有一個scrollview,它的frame為(0,0,320,480),而它的contentSize為(320,960).也就是說,這個scrollview整個內容的大小為(320,960),要通過上下滑動scrollview來查看(320,480)后的內容。

contentOffset 是scrollview當前顯示區域頂點相對於frame頂點的偏移量,比如上個例子你拉到最下面,contentoffset就是(0 ,480),也就是y偏移了480

contentInset 是scrollview中contentView.frame.origin與scrollview.frame.origin的關系,比如contentView的frame為(0,30,320,480),那么contentInset則為(0, 30),

2011090401133327.jpg


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM