collectionView tableView的細(xì)節(jié)處理

1.設(shè)置collectionView的高度
1.1為什么要設(shè)置高度?
collectionView是在tableView的footView里面 , tableView能滾動,collectionView也能滾動 我們不想讓collectionView滾動
1.2怎么可以讓collectionView不滾動?
只要collectionView里面的內(nèi)容不超出collectionView的最大高度就可以了
1.3怎么設(shè)置collectionView的高度
計算出collectionView內(nèi)容高度 = collectionView的高度
1.4怎么計算collectionView內(nèi)容的高度

設(shè)置collectionView高度 = 內(nèi)容高度(rowsitemWH + (rows - 1) margin)
總行數(shù) cell的高度 + (總行數(shù) - 1) *行間距

1.5怎么計算總行數(shù)

計算總行數(shù):(count - 1) / cols + 1 萬能公式 記住
(模型的總數(shù) - 1) / 每一行有多少個cell(item) + 1

1.6代碼寫到哪里?
計算高度,我們先要拿到模型總數(shù) 代碼寫在字典轉(zhuǎn)模型后面就可以 字典轉(zhuǎn)模型一般寫在網(wǎng)絡(luò)請求成功回調(diào)的方法里面
還要寫在刷新表格之前

2.設(shè)置tableView的滾動范圍
2.1.為什么要設(shè)置滾動范圍
collectionView的高度超出屏幕,我們滾動tableView查看下面的collectionViewcell 發(fā)現(xiàn)會彈回來
2.2.為什么會彈回來
tableView的高度會根據(jù)最后一個cell或footView的最大y值決定
footView的高度就是就是collectionView的高度,我們設(shè)置的collectionView的高度為200
上面雖然重新設(shè)置了collectionView的高度,但是在tableFooterView高度已經(jīng)在設(shè)置為200的時候確定為200了
2.3.怎么修改滾動范圍?
先用contentSize來設(shè)置 只要設(shè)置tableView的最大高度為collectionView內(nèi)容的最大y值即可
修改后發(fā)現(xiàn)一個bug 當(dāng)離開當(dāng)前頁 再返回的時候,滾動tableView 發(fā)現(xiàn)還會彈回來2.4.為什么還會彈回來?tableView的滾動范圍是有系統(tǒng)自己設(shè)定的,我們設(shè)定的值系統(tǒng)不認(rèn)可,不會記錄,只有第一次會執(zhí)行我們設(shè)置的
再次來到該界面系統(tǒng)就會還原自己記錄的滾動范圍contentSize
2.4.系統(tǒng)怎么設(shè)定contentSize
是根據(jù)最后一個cell或footView的最大y值決定
2.5.怎么解決彈回來的問題
我們重新設(shè)置最后一個cell或footView就可以 系統(tǒng)就會重新計算滾動范圍
2.6.在哪設(shè)置?
首先需要拿到collectionView的frame 在網(wǎng)絡(luò)請求成功后我們會重新計算collectionView的高度 寫在計算的后面
還要寫在刷新表格之前

3.處理額外的格子
3.1 為什么要處理?
服務(wù)器返回的數(shù)據(jù)不一定是列數(shù)的整數(shù)倍 這樣最后一行可能只顯示1個cell 后面還有一些缺口 不太美觀 需要處理
3.2 怎么處理?
如果有缺口,我們只需要在缺口位置展示空的cell就可以了
3.3 怎么展示空的cell
cell的個數(shù)由模型的個數(shù)決定 , 模型的個數(shù)由模型數(shù)組元素個數(shù)(count)決定
我們只需要給模型數(shù)組添加元素(object)就可以了
3.4代碼寫到哪里?
我們先要拿到模型總數(shù) 代碼寫在字典轉(zhuǎn)模型后面就可以 字典轉(zhuǎn)模型一般寫在網(wǎng)絡(luò)請求成功回調(diào)的方法里面
還要寫在刷新表格之前

4.處理tableView靜態(tài)cell的間距
4.1間距是什么造成的?
我們的tableView的是分組樣式的
分組樣式tableView:默認(rèn)每一組都有間距 我們猜測間距就是分組的間距
4.2怎么驗(yàn)證?
把分組間距設(shè)置為0來查看界面驗(yàn)證 發(fā)現(xiàn)我們的猜測是正確的
然后把分組間距設(shè)置成我們想要的間距就可以了

self.tableView.sectionHeaderHeight = 0;
self.tableView.sectionFooterHeight = 10;

4.3我們發(fā)現(xiàn)設(shè)置完分組間距,第一個cell距離頂部還是有一大斷間距, 這個間距怎么造成的?
cell距離頂部有一段間距 只有在靜態(tài)cell里面才會有這種現(xiàn)象
猜測是內(nèi)邊距 contentInset
4.4怎么驗(yàn)證?
打印contentInset
4.5在哪里打印?
在viewDidLoad里面不可以 View里面控件的位置尺寸還沒設(shè)置
我們可以在viewDidAppear里面打印 打印完發(fā)現(xiàn)是64 不是這個間距
猜測是cell的y值
4.6怎么驗(yàn)證?
打印cell的frame

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
NSLog(@"%@",NSStringFromCGRect(cell.frame));
 } 

我們發(fā)現(xiàn)y值為35 ,證明猜測是正確的

4.7怎么修改?直接修改y值?
不可以 修改一個cell的y值只會改變一個cell的位置
4.8怎么可以讓整個tableView里面的cell整體往上(往下)移動
可以通過contentInset

self.tableView.contentInset = UIEdgeInsetsMake(-25, 0, 0, 0);

4.9根據(jù)上面的設(shè)置我們發(fā)現(xiàn)系統(tǒng)修改contentInset 是在我們原來的contentInset的基礎(chǔ)上類加得出來的

http://www.cnblogs.com/xiaotian666/p/5723091.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拖云,更是在濱河造成了極大的恐慌炫贤,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,207評論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)红氯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評論 3 400
  • 文/潘曉璐 我一進(jìn)店門框咙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人痢甘,你說我怎么就攤上這事喇嘱。” “怎么了塞栅?”我有些...
    開封第一講書人閱讀 170,031評論 0 366
  • 文/不壞的土叔 我叫張陵者铜,是天一觀的道長。 經(jīng)常有香客問我放椰,道長作烟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,334評論 1 300
  • 正文 為了忘掉前任砾医,我火速辦了婚禮拿撩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘如蚜。我一直安慰自己压恒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,322評論 6 398
  • 文/花漫 我一把揭開白布错邦。 她就那樣靜靜地躺著探赫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪撬呢。 梳的紋絲不亂的頭發(fā)上期吓,一...
    開封第一講書人閱讀 52,895評論 1 314
  • 那天,我揣著相機(jī)與錄音倾芝,去河邊找鬼。 笑死箭跳,一個胖子當(dāng)著我的面吹牛晨另,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播谱姓,決...
    沈念sama閱讀 41,300評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼借尿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了屉来?” 一聲冷哼從身側(cè)響起路翻,我...
    開封第一講書人閱讀 40,264評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎茄靠,沒想到半個月后茂契,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,784評論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡慨绳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,870評論 3 343
  • 正文 我和宋清朗相戀三年掉冶,在試婚紗的時候發(fā)現(xiàn)自己被綠了真竖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,989評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡厌小,死狀恐怖恢共,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情璧亚,我是刑警寧澤讨韭,帶...
    沈念sama閱讀 36,649評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站癣蟋,受9級特大地震影響透硝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜梢薪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,331評論 3 336
  • 文/蒙蒙 一蹬铺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧秉撇,春花似錦甜攀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,814評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽譬胎。三九已至稼钩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間镶骗,已是汗流浹背滋饲。 一陣腳步聲響...
    開封第一講書人閱讀 33,940評論 1 275
  • 我被黑心中介騙來泰國打工厉碟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人屠缭。 一個月前我還...
    沈念sama閱讀 49,452評論 3 379
  • 正文 我出身青樓箍鼓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親呵曹。 傳聞我的和親對象是個殘疾皇子款咖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,995評論 2 361

推薦閱讀更多精彩內(nèi)容