降低heightForRow的調(diào)用頻率

由于numberOfRowsInSection方法中返回多少數(shù)據(jù)镜撩,heightForRow就調(diào)用多少次议谷,有幾個(gè)cell進(jìn)入屏幕就要調(diào)用幾次

是否可以解決這種調(diào)用的頻率呢歼郭?

可以利用估算高度

有兩種方法設(shè)置:

1.代理方法 estimatedHeightForRowAtIndexPath

2.也可以利用屬性設(shè)置弯囊,適用于每一行的估算高度都是一樣的

self.tableView.estimatedRowHeight = 44

設(shè)置完估算高度后,每一行大約都是44虽另,heightForRow方法頻率就降低了

要想知道滾動(dòng)條有多長(zhǎng),必須知道contentSize性含,系統(tǒng)已開(kāi)始進(jìn)入界面就已經(jīng)算出了tableview的內(nèi)容有多長(zhǎng)洲赵,雖然后面的cell沒(méi)有出現(xiàn),就是為了滾動(dòng)條的長(zhǎng)度,為了提示用戶后面大約有多少內(nèi)容叠萍,所以一下子都算出來(lái)

contentSize.height --->滾動(dòng)條長(zhǎng)度芝发,要想知道contentSize,得知道所有cell的高度苛谷,所以沒(méi)有辦法辅鲸,只能一口氣把heightForRow都調(diào)用一遍

假如有40條數(shù)據(jù),就把40個(gè)cell的高度累加起來(lái)

但是從ios7以后腹殿,就換了一種設(shè)計(jì)独悴,讓自己去選擇,要不要這樣子去一下子調(diào)用锣尉,如果想告訴用戶準(zhǔn)確的滾動(dòng)條長(zhǎng)度刻炒,用系統(tǒng)的默認(rèn)做法就好了,不用去估算

總之自沧,目的就是為了算出滾動(dòng)條的長(zhǎng)度

有了估算高度以后坟奥,就不用著急調(diào)用heightForRow,就會(huì)用估算高度 * 總數(shù)量拇厢,算出contentsize爱谁,算出滾動(dòng)條長(zhǎng)度,這種算出來(lái)的滾動(dòng)條長(zhǎng)度是不準(zhǔn)確的孝偎,是有誤差的

用了估算高度以后访敌,雖然heightForRow方法不會(huì)一下子調(diào)用numberOfRows返回的數(shù)據(jù)條數(shù)了,但是還是會(huì)調(diào)用是因?yàn)楦鶕?jù)估算高度判斷衣盾,一個(gè)tableView中會(huì)顯示幾個(gè)cell寺旺,有幾個(gè)cell會(huì)進(jìn)入屏幕內(nèi),就會(huì)調(diào)用幾次雨效,要顯示了肯定要計(jì)算它的準(zhǔn)確高度迅涮,而不會(huì)利用估計(jì)高度,這是不可避免的徽龟,總之叮姑,哪些cell顯示,就調(diào)用哪些cell的heightForRow了据悔,就不會(huì)一口氣調(diào)用全部了传透,cell要真正顯示了,要上場(chǎng)了极颓,就有必要拿出它的真正高度了朱盐,不能用假的估算高度了,顯示一個(gè)菠隆,算一個(gè)

雖然估算出來(lái)顯示6個(gè)兵琳,就調(diào)用6次狂秘,但是真實(shí)的顯示就4個(gè),應(yīng)該調(diào)用4次才對(duì)躯肌,雖然有誤差者春,但是還是總的算來(lái),還是調(diào)用的少了

如果估算高度很大的話清女,比如判讀出來(lái)只能顯示1個(gè)钱烟,那么就調(diào)用1次嫡丙,發(fā)現(xiàn)了真實(shí)的高度,就會(huì)用真實(shí)的高度取代掉以前的估算高度曙博,估算剩下的空間大約能顯示幾個(gè)拥刻,就調(diào)用幾次

可用可不用父泳,暫時(shí)選擇不使用,會(huì)導(dǎo)致滾動(dòng)條跳來(lái)跳去

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末尘吗,一起剝皮案震驚了整個(gè)濱河市浇坐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌近刘,老刑警劉巖擒贸,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異觉渴,居然都是意外死亡介劫,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門案淋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)座韵,“玉大人,你說(shuō)我怎么就攤上這事踢京∮辏” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵瓣距,是天一觀的道長(zhǎng)黔帕。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蹈丸,這世上最難降的妖魔是什么成黄? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任呐芥,我火速辦了婚禮,結(jié)果婚禮上奋岁,老公的妹妹穿的比我還像新娘思瘟。我一直安慰自己,他們只是感情好厦取,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布潮太。 她就那樣靜靜地躺著,像睡著了一般虾攻。 火紅的嫁衣襯著肌膚如雪铡买。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天霎箍,我揣著相機(jī)與錄音奇钞,去河邊找鬼。 笑死漂坏,一個(gè)胖子當(dāng)著我的面吹牛景埃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播顶别,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谷徙,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了驯绎?” 一聲冷哼從身側(cè)響起完慧,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎剩失,沒(méi)想到半個(gè)月后屈尼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拴孤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年脾歧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片演熟。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鞭执,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出芒粹,到底是詐尸還是另有隱情蚕冬,我是刑警寧澤囤热,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站旁蔼,受9級(jí)特大地震影響锨苏,放射性物質(zhì)發(fā)生泄漏棺聊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一葵诈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧作喘,春花似錦、人聲如沸泞坦。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)滤蝠。三九已至,卻和暖如春物咳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背所森。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工焕济, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盔几,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓上鞠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親芍阎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

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