contentsiz contentoffset contentInset的區別

contentSize是scrollview可以滾動的區域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滾動,滾動區域爲frame大小的兩倍。
contentOffset是scrollview當前顯示區域頂點相對於frame頂點的偏移量,比如上個例子你拉到最下面,contentoffset就是(0 ,480),也就是y偏移了480
contentInset是scrollview的contentview的頂點相對於scrollview的位置,例如你的contentInset = (0 ,100),那麼你的contentview就是從scrollview的(0 ,100)開始顯示

另外UITableView是UIScrollView的子類,它們在上述屬性又有所不同,tabelview的contentsize是由它的下列方法共同實現的
- (NSInteger)numberOfSections;
- (NSInteger)numberOfRowsInSection:(NSInteger)section;
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;
它會自動計算所有的高度和來做爲它的contentsize的height.

例如你在delegate方法
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 100;
}
那麼你的tabelview的contentsize就是(320, 4400)

具體請看斯坦福大學講義,今天剛剛找到,感覺比我講的好,敬請諒解。網址:http://www.docin.com/p-120039524.html

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/diyagoanyhacker/archive/2011/05/23/6440579.aspx

發佈了46 篇原創文章 · 獲贊 2 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章