UITableView的坑

樣式

  • 當(dāng)tableView的樣式為UITableViewPlain時
    默認(rèn)沒有tableHeaderView售睹,tableFooterView,sectionHeaderView狭郑,sectionFooterView沛申。

  • 當(dāng)tableView的樣式為UITableViewGrouped時
    使用默認(rèn)的高度設(shè)置tableHeaderView郁岩,tableFooterView,sectionHeaderView睦尽,sectionFooterView器净。

設(shè)置seciotnHeader或seciotnFooter的高度

1.使用屬性設(shè)置seciotnHeader或seciotnFooter的高度

  • 當(dāng)tableView的樣式為UITableViewPlain時
    屬性@property(nonatomic) CGFloat sectionHeaderHeight;@property(nonatomic) CGFloat sectionFooterHeight;都不起作用。

  • 當(dāng)tabaleView的樣式為UITableViewGrouped時
    屬性@property(nonatomic) CGFloat sectionHeaderHeight;和屬性@property(nonatomic) CGFloat sectionFooterHeight;才起作用当凡。
    如果同時實(shí)現(xiàn)了代理方法tableView:heightForHeaderInSection:
    tableView:heightForFooterInSection:時山害,則代理方法會覆蓋屬性。

  • 當(dāng)tableView的樣式為UITableViewGrouped時
    當(dāng)想設(shè)置header或footer的高度為0時沿量,只能使用屬性設(shè)置浪慌。
    使用代理方法tableView:heightForHeaderInSection:不起作用,系統(tǒng)會使用默認(rèn)高度設(shè)置header或footer朴则。

2.使用代理方法設(shè)置seciotnHeader或seciotnFooter的高度

  • 當(dāng)tableView的樣式是UITableViewPlain時权纤,可以使用代理方法tableView:heightForHeaderInSection:tableView:heightForFooterInSection:設(shè)置header或footer高度

  • 當(dāng)tableView的樣式是UITableViewGrouped時,無法使用代理方法tableView:heightForHeaderInSection:tableView:heightForFooterInSection:設(shè)置header或footer的高度乌妒。

自定義sectionHeader或sectionFooter的視圖

*只有實(shí)現(xiàn)了方法:tableView:heightForHeaderInSection:tableView:heightForFooterInSection:時汹想,設(shè)置header或footer的方法tableView: viewForHeaderInSection:tableView: viewForFooterInSection:才起作用。

分割線

  • 當(dāng)tableView的樣式為UITableViewPlain時撤蚊,table的各個cell的底部都有分割線古掏。

  • 當(dāng)tableView的樣式為UITableViewPlain時,
    如果實(shí)現(xiàn)代理方法tableView:heightForHeaderInSection:時侦啸,
    section的最后一個footer會有分割線槽唾,其他的header和footer都沒有分割線。

  • 如果實(shí)現(xiàn)代理方法tableView:heightForFooterInSection:時光涂,section的header和footer都沒有分割線庞萍。

  • 當(dāng)tableView的樣式為UITableViewGrouped時
    section的header和footer都有一條完整的分割線。

tableHeaderView和tableFooterView

  • 當(dāng)tableView的樣式為UITableViewStylePlain時顶捷,
    可以使用self.tableView.tableFooterView = [UIView new];設(shè)置tablefooterView挂绰。
    這能夠刪除tableView最底部的格外的分割線屎篱。

  • 當(dāng)tableView的樣式為UITableViewStyleGrouped時服赎,self.tableView.tableFooterView = [UIView new];和self.tableView.tableHeaderView = [UIView new];不起作用葵蒂。因?yàn)橄到y(tǒng)檢測到高度為0時,會使用默認(rèn)高度重虑。

刪除底部分割線

  • 當(dāng)tableView的樣式為UITableviewPlain時践付,
    tableView底部會有額外的分割線,有兩種方法可以刪除額外的分割線:
    1.設(shè)置seciotnfooterView缺厉,可以刪除所有section的header和footer的分割線
    2.self.tableView.tableFooterView = [UIView new];刪除底部分割線

sectionHeader和sectionFooter的浮動效果

  • tableView的樣式為UITableViewStylePlain的時候永高,secitonHeader和sectionFooter會浮動,而在樣式為UITableViewStyleGrouped的時候提针,則不會命爬。

背景色

  • 當(dāng)tableView的樣式為UITableViewPlain時,tableView沒有背景色辐脖。我并沒有設(shè)置cell的背景色饲宛,但我明白cell為何會有一個白色的背景顏色。

  • 當(dāng)tableView的樣式為UITableViewGrouped時嗜价,tableView為所有的cell提供默認(rèn)的背景顏色和背景視圖艇抠。可以通過方法[UIColor groupTableViewBackgroundColor]來獲得該背景顏色久锥。
    背景視圖為特定section中的所有cell提供可視分組

層次結(jié)構(gòu)

  • 此外在tableView上家淤,還有一個UITableViewWrapperView,UITableViewWrapperView之上才是我們的UITableViewCell瑟由。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末絮重,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子歹苦,更是在濱河造成了極大的恐慌绿鸣,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件暂氯,死亡現(xiàn)場離奇詭異潮模,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)痴施,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進(jìn)店門擎厢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辣吃,你說我怎么就攤上這事动遭。” “怎么了神得?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵厘惦,是天一觀的道長。 經(jīng)常有香客問我哩簿,道長宵蕉,這世上最難降的妖魔是什么酝静? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮羡玛,結(jié)果婚禮上别智,老公的妹妹穿的比我還像新娘。我一直安慰自己稼稿,他們只是感情好薄榛,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著让歼,像睡著了一般敞恋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谋右,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天耳舅,我揣著相機(jī)與錄音,去河邊找鬼倚评。 笑死浦徊,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的天梧。 我是一名探鬼主播盔性,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼呢岗!你這毒婦竟也來了冕香?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤后豫,失蹤者是張志新(化名)和其女友劉穎悉尾,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挫酿,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡构眯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了早龟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惫霸。...
    茶點(diǎn)故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖葱弟,靈堂內(nèi)的尸體忽然破棺而出壹店,到底是詐尸還是另有隱情,我是刑警寧澤芝加,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布硅卢,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏将塑。R本人自食惡果不足惜脉顿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抬旺。 院中可真熱鬧弊予,春花似錦祥楣、人聲如沸开财。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽责鳍。三九已至,卻和暖如春兽间,著一層夾襖步出監(jiān)牢的瞬間历葛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工嘀略, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留恤溶,地道東北人。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓帜羊,卻偏偏與公主長得像咒程,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子讼育,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評論 2 359