国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

UITabelView高級(jí)(自定義Cell)

2019-11-14 19:03:57
字體:
供稿:網(wǎng)友

自定義一個(gè)Cell

當(dāng)我們要顯示復(fù)雜數(shù)據(jù)的時(shí)候,例如要做一個(gè)扣扣聊天界面,或是新聞列表,系統(tǒng)的行已經(jīng)不能滿足我們的要求,這個(gè)時(shí)候我們可以通過自定義這個(gè)行,讓他顯示更多復(fù)雜結(jié)構(gòu)的樣式。

自定義cell就是創(chuàng)建一個(gè)UITabelViewCell的子類,把cell上的控件創(chuàng)建都封裝在子類中,簡(jiǎn)化UIViewController中的代碼然后把子視圖控件添加到cell的contentView上

cell中的控件如何顯示model中的信息

cell中聲明一個(gè)model類型的屬性,viewController中獲取到Model對(duì)象后賦值給cell的Model屬性

cell中重寫Model的setter方法,把Model對(duì)象中的內(nèi)容重新賦值給各個(gè)控件

M和V不直接進(jìn)行通信,C負(fù)責(zé)M和V之間進(jìn)行通信

 

多種類型的CELL混合

開發(fā)中常見多種類型的cell混合在一個(gè)tableView中使用,通常每種類型的cell有不同的布局樣式

通常我們會(huì)在tabelView:cellForRowAtIndexPath:方法中根據(jù)不同的Model來決定使用什么類型的cell

每種類型的cell要定義不同的重用標(biāo)識(shí)符,cell重用的時(shí)候會(huì)根據(jù)重用標(biāo)識(shí)符從重用隊(duì)列中取用哪種類型的cell

例如我們定義一個(gè)ComposeCel類型的標(biāo)識(shí)符和ReceivedCell類型的標(biāo)識(shí)符

 然后通過判斷并根據(jù)不同的標(biāo)識(shí)符從重用隊(duì)列中取用不同類型的表格

 

 

cell自適應(yīng)高度

之前我們使用的cell一直都是同樣的高度,或者某行固定高度,但在實(shí)際開發(fā)中,經(jīng)常要讓cell根據(jù)Model中文本的長(zhǎng)短動(dòng)態(tài)的更改高度。

首先獲取文本的高度

計(jì)算文本高度是所用的字體要和label顯示時(shí)所用的字體一致

label的寬度要和計(jì)算時(shí)使用的限定寬度一致,這樣才能保證文本顯示在label中時(shí),label高度恰巧夠

tableView:heightForRowAtIndexPath:

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 嘉黎县| 界首市| 磴口县| 西吉县| 浦江县| 那曲县| 岱山县| 昌乐县| 和硕县| 阳朔县| 财经| 安溪县| 盐津县| 阿巴嘎旗| 信宜市| 沧源| 姚安县| 辽源市| 江口县| 开阳县| 揭东县| 巍山| 当雄县| 江城| 涟源市| 宣威市| 常山县| 肃北| 敖汉旗| 华蓥市| 卓尼县| 巴林左旗| 五常市| 醴陵市| 通山县| 成武县| 衡南县| 松桃| 安福县| 德昌县| 额敏县|