UITableView相關(guān)的坑

前言

在寫這篇文章之前峻呕,我將本文集(iOS開發(fā)中的坑)里的一些文章進(jìn)行了調(diào)整利职,移至iOS開發(fā)文集當(dāng)中。目的瘦癌,就是為了進(jìn)行一種區(qū)分猪贪,讓本文集從今往后,成為一種專門記錄一些不常見的iOS開發(fā)中的坑讯私,的存在热押。
本文集中的文章中記錄下來的坑都屬于不常見的那種西傀,很多人可能永遠(yuǎn)都不會遇到,但是當(dāng)你遇到時桶癣,往往很難在網(wǎng)上找到相關(guān)記錄拥褂。

正文

UITableView可以說是iOS開發(fā)中最常用到的幾種UI控件之一,相信很多人都用過不知道多少次牙寞。今天就來說一說UITableView中那些不常見的大坑饺鹃。

1.UITableView在RegisterUITableViewCell之前崩潰的坑。
光看標(biāo)題可能很多人不是很明白间雀,所以我就直接上代碼悔详。


這是初始代碼,為了盡量簡單的模擬出我想要的效果惹挟,代碼就不寫的那么規(guī)范啦茄螃,希望大家在真正項目不要學(xué)我

看完上圖代碼,我們的第一個問題就來啦,請問上圖代碼運(yùn)行之后连锯,控制臺的輸出順序是什么归苍?

這個問題很簡單,相信大家都回答正確啦萎庭。

雖然答對了上面的問題霜医,但是還請不要驕傲,因為我們的重頭戲來了驳规。

認(rèn)真觀看新的代碼肴敛,再說說這次的打印順序,你還能說對嗎吗购?

下面宣布答案医男,可能和你的猜測有些出入。

這次你又答對了嗎捻勉?

**結(jié)論:在為tableView設(shè)置了tableFooterView和tableHeaderView之后镀梭,如果調(diào)用tableView.separatorStyle方法,系統(tǒng)就會自動調(diào)用UITableViewDataSource代理的代理方法踱启。如果對這個不了解报账,可能就會造成各種問題。不過這個問題在iOS10已經(jīng)解決埠偿,不再出現(xiàn)透罢。我想應(yīng)該是個官方BUG。

最后冠蒋,本次實驗的運(yùn)行環(huán)境為iOS8.4的虛擬機(jī)羽圃,由于條件簡陋,我沒有測試其他的iOS版本抖剿。**

2.UITableView第0個sectionHeaderView不顯示的問題

運(yùn)行如圖代碼

得到如下結(jié)果:

得到如下結(jié)果

可以清楚的看出朽寞,第一個section的headerView沒有顯現(xiàn)识窿。如果在代理里進(jìn)行打印,會發(fā)現(xiàn)根本沒有走sectionHeaderView的第0個section的代理脑融。
這個情況很奇怪喻频。我們稍微修改一下代碼,再運(yùn)行一下試試吨掌。

修改后的代碼如圖半抱,添加了一個返回sectionHeaderView高度的代理實現(xiàn)

運(yùn)行結(jié)果如下:

可以清楚的看到脓恕,消失的0section的sectionHeaderView又出現(xiàn)啦

真是神奇澳に巍!A夺!秋茫!
由上圖的代碼對比可知,造成這種結(jié)果的原因便是sectionHeaderView的高度實現(xiàn)的方式不同乃秀。用self.tableView.sectionHeaderHeight設(shè)置高度就會丟失第0gesection的headerView肛著,而通過代理就不會。


這是sectionHeaderHeight的介紹

我們看一下sectionHeaderHeight的介紹跺讯,發(fā)現(xiàn)只有代理不實現(xiàn)的時候枢贿,才會用sectionHeaderHeight,按照常理來說這兩者在設(shè)置統(tǒng)一高度時刀脏,應(yīng)該沒有差別局荚。所以這種情況的出現(xiàn)實在讓人費(fèi)解。


結(jié)論:這個實驗還有一部分我沒有放出愈污,所以我就直接給出結(jié)論耀态。只有當(dāng)tableView是Grouped,并且section的高度是通過sectionHeaderHeight設(shè)置的時候暂雹,第0個section的headerView才會丟失首装。如果tableView是Plain就不會有任何問題。

3.UITableViewHeaderFooterView不能當(dāng)作普通的UIView來用杭跪,因為UITableViewHeaderFooterView中有很多約束條件仙逻,所以不能用來當(dāng)作普通的UIView。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涧尿,一起剝皮案震驚了整個濱河市系奉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌现斋,老刑警劉巖喜最,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異庄蹋,居然都是意外死亡瞬内,警方通過查閱死者的電腦和手機(jī)迷雪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來虫蝶,“玉大人章咧,你說我怎么就攤上這事∧苷妫” “怎么了赁严?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長粉铐。 經(jīng)常有香客問我疼约,道長,這世上最難降的妖魔是什么蝙泼? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任程剥,我火速辦了婚禮,結(jié)果婚禮上汤踏,老公的妹妹穿的比我還像新娘织鲸。我一直安慰自己,他們只是感情好溪胶,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布搂擦。 她就那樣靜靜地躺著,像睡著了一般哗脖。 火紅的嫁衣襯著肌膚如雪瀑踢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天懒熙,我揣著相機(jī)與錄音丘损,去河邊找鬼。 笑死工扎,一個胖子當(dāng)著我的面吹牛徘钥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播肢娘,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼呈础,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了橱健?” 一聲冷哼從身側(cè)響起而钞,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拘荡,沒想到半個月后臼节,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年网缝,在試婚紗的時候發(fā)現(xiàn)自己被綠了巨税。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡粉臊,死狀恐怖草添,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情扼仲,我是刑警寧澤远寸,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站屠凶,受9級特大地震影響驰后,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜阅畴,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一倡怎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贱枣,春花似錦、人聲如沸颤专。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽栖秕。三九已至春塌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間簇捍,已是汗流浹背只壳。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留暑塑,地道東北人吼句。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像事格,于是被迫代替她去往敵國和親惕艳。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354

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

  • 版權(quán)聲明:未經(jīng)本人允許,禁止轉(zhuǎn)載. 1. TableView初始化 1.UITableView有兩種風(fēng)格:UITa...
    蕭雪痕閱讀 2,908評論 2 10
  • 概述在iOS開發(fā)中UITableView可以說是使用最廣泛的控件驹愚,我們平時使用的軟件中到處都可以看到它的影子远搪,類似...
    liudhkk閱讀 9,043評論 3 38
  • #pragma mark someValueAboutTableView 1.tableView的樣式:UITab...
    瀟巖閱讀 906評論 0 0
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件逢捺、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,102評論 4 62
  • 過期的食物如果不扔掉谁鳍,帶來的就不再是享受,而是傷害,人也一樣倘潜。
    東北郭先生閱讀 219評論 0 0