iOS tableview靜態(tài)cell動態(tài)cell混用

前言

在之前的文章中有寫過阶女,如何在ViewController中使用靜態(tài)TableView 這樣我們可以在任何一個界面中嵌套一個靜態(tài)的tableView,大大的提高了界面的開發(fā)效率凑阶。
但是,這只能解決那些固定不變的列表界面衷快,而目前大部分的APP界面都是動態(tài)的宙橱,如系統(tǒng)的搜索無線局域網(wǎng)的界面,如下圖:

Paste_Image.png

系統(tǒng)的無線局域網(wǎng)搜索界面就是一個典型的動態(tài)cell與靜態(tài)cell混合界面蘸拔,上面的展示搜索到的WiFI熱點列表是動態(tài)的养匈,而下面的配置界面又是靜態(tài)的,如何來快速的開發(fā)這種界面呢都伪?下面就給大家詳細說來呕乎。

效果圖(不多說咱先看看效果圖)

tableview.gif

第一步(完成靜態(tài)的部分)

根據(jù)自己的業(yè)務需求先把靜態(tài)部分用storyboard拖拽完成,如果是在UITableViewController中就直接將TableView設置為靜態(tài),然后直接拖拽陨晶。如果是在UIViewController中請參照之前的文章在ViewController中使用靜態(tài)TableView
拖拽好后猬仁,記得預留好動態(tài)cell的位置,如下圖:
重點:動態(tài)的cell所在的Section中一定要留一個cell(無論什么cell)否則會造成崩潰

Paste_Image.png

第二步(代碼部分)

定義一個枚舉先誉,用于區(qū)分自己的section類型

Paste_Image.png

數(shù)據(jù)源以及代理,動態(tài)cell和正常的tableview一樣處理湿刽,靜態(tài)的cell直接返回父類就好

//cell的個數(shù)
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    if(SectionTypeHobby == section){//愛好 (動態(tài)cell)
        return self.hobbysArr.count;
    }
    return [super tableView:tableView numberOfRowsInSection:section];
}
//cell 也可以用注冊的方式來復用
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    if(SectionTypeHobby == indexPath.section){//愛好 (動態(tài)cell)
        HobbyCell *cell = [tableView dequeueReusableCellWithIdentifier:HobbyCellID];
        if(!cell){
            cell = [[NSBundle mainBundle] loadNibNamed:HobbyCellID owner:nil options:nil].lastObject;
        }
        return cell;
    }
    return [super tableView:tableView cellForRowAtIndexPath:indexPath];
}
//cell高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    if(SectionTypeHobby == indexPath.section){//愛好 (動態(tài)cell)
        return HobbyCellHeight;
    }
    return [super tableView:tableView heightForRowAtIndexPath:indexPath];
}
//cell的縮進級別,動態(tài)靜態(tài)cell必須重寫褐耳,否則會造成崩潰
- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{
    if(SectionTypeHobby == indexPath.section){//愛好 (動態(tài)cell)
        return [super tableView:tableView indentationLevelForRowAtIndexPath: [NSIndexPath indexPathForRow:0 inSection:SectionTypeHobby]];
    }
    return [super tableView:tableView indentationLevelForRowAtIndexPath:indexPath];
}

這樣靜態(tài)cell與動態(tài)cell混用就完成了诈闺,當然這里我只是隨便舉個例子,大家可以根據(jù)自己的業(yè)務需求隨意的搭配動態(tài)與靜態(tài)cell混用了铃芦。
ps:本人踩過的坑
--- 1.storyboard中動態(tài)cell所在的section中必須預留一個cell(隨便什么cell)否則會造成崩潰雅镊。
--- 2.- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath;方法必須重寫,否則會造成崩潰刃滓。
最后附上demo地址:Demo
https://github.com/ywdonga/TableViewDynamicStaticCell
給不給星無所謂仁烹,大家開心就好。????????
本人在外包公司咧虎,以上用法已經(jīng)在N個項目中使用卓缰,目前未出現(xiàn)過任何問題,如果哪位同學有遇到問題可以聯(lián)系我:QQ 329720990 郵箱 dongyouweie@126.com

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末砰诵,一起剝皮案震驚了整個濱河市征唬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌茁彭,老刑警劉巖总寒,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異尉间,居然都是意外死亡偿乖,警方通過查閱死者的電腦和手機击罪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贪薪,“玉大人媳禁,你說我怎么就攤上這事』校” “怎么了竣稽?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長霍弹。 經(jīng)常有香客問我毫别,道長,這世上最難降的妖魔是什么典格? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任岛宦,我火速辦了婚禮,結果婚禮上耍缴,老公的妹妹穿的比我還像新娘砾肺。我一直安慰自己,他們只是感情好防嗡,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布变汪。 她就那樣靜靜地躺著,像睡著了一般蚁趁。 火紅的嫁衣襯著肌膚如雪裙盾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天他嫡,我揣著相機與錄音番官,去河邊找鬼。 笑死涮瞻,一個胖子當著我的面吹牛鲤拿,可吹牛的內容都是我干的。 我是一名探鬼主播署咽,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼生音!你這毒婦竟也來了宁否?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤缀遍,失蹤者是張志新(化名)和其女友劉穎慕匠,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體域醇,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡台谊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年蓉媳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锅铅。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡酪呻,死狀恐怖,靈堂內的尸體忽然破棺而出盐须,到底是詐尸還是另有隱情玩荠,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布贼邓,位于F島的核電站阶冈,受9級特大地震影響,放射性物質發(fā)生泄漏塑径。R本人自食惡果不足惜女坑,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望统舀。 院中可真熱鬧匆骗,春花似錦、人聲如沸绑咱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽描融。三九已至铝噩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間窿克,已是汗流浹背骏庸。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留年叮,地道東北人具被。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像只损,于是被迫代替她去往敵國和親一姿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內容

  • 概述在iOS開發(fā)中UITableView可以說是使用最廣泛的控件跃惫,我們平時使用的軟件中到處都可以看到它的影子叮叹,類似...
    liudhkk閱讀 9,006評論 3 38
  • 引子 菊花香隱隱傳來,是秋天了嗎爆存? 我瑟縮著退至檐下蛉顽,伸手去擋撲面而來的陽光。長時間呆在幽暗之處先较,眼睛已經(jīng)不...
    梨渦小篆本尊閱讀 1,031評論 4 9
  • 夢想都監(jiān)督不了你携冤,還有什么可以監(jiān)督你——對想購買監(jiān)督學習的我的反省 那倒是恐懼了悼粮,怎么辦,應該能做好曾棕,因為這可能是...
    優(yōu)00閱讀 122評論 0 0
  • 昨天的夢扣猫,似乎太天馬行空,光怪陸離睁蕾! 夢到了去針灸苞笨, 夢到了等公交車, 夢到了異界子眶,那是一個神奇的世界瀑凝,季節(jié)只有兩...
    月光銀鹿閱讀 176評論 0 0
  • 中午和一個研究生同學吃飯渴杆,我們都是經(jīng)濟學專業(yè)寥枝,我碩士畢業(yè)以后開始工作,他讀了博士磁奖,現(xiàn)在在一家知名的宏觀分析機構工作...
    廷婷閱讀 2,041評論 29 50