ObjectivC@property(nonatomic) CGSize contentSize struct CGSize { CGFloat width; CGFloat height; }; @property(nonatomic) CGPoint contentOffset struct CGPoint { CGFloat x; CGFloat y; }; @property(nonatomic) UIEdgeInsets contentInset typedef struct { CGFloat top, left , bottom, right ; } UIEdgeInsets;
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。contentOffset 的默認點爲 CGPointZero contentInset
理解起來比較困難, 它用4個數值表示contentView與scrollView的相對位置.具體看圖吧.1.contentOffset 座標值,會隨着用戶滑動內容視圖,而改變。
2.內容視圖的contentOffset爲負數時,在滾動視圖中是看不到的。atom
contentView
沒有滾動時,經過contentInset.top/.left 2個相對與scrollView的距離知道contentView的位置;contentView
滾動時,經過contentOffset的座標知道contentView左上角相對與scrollView左上角的距離,再經過contentSize便可知道contentView的具體位置;contentView
滾動到最終位置時, 固定在contentInset.right/bottom 2個位置;