TemplateScrolls 進(jìn)階教程

TemplateScrolls 入門教程

為了便于閱讀飞醉,教程以 TTTableView 的用法為例冲茸,TTCollectionView 的用法基本上類似

統(tǒng)一配置、個(gè)性化配置

TTTableView 最主要的工作就是配置好 sectionscells 數(shù)組,就可以快速的渲染出視圖了噪裕。

其中每一個(gè) Cell 都是獨(dú)立的蹲盘,可以為不同的 Cell 設(shè)置不同的 類型、數(shù)據(jù)膳音、尺寸

TTCellTemplate *cell1 = [TTCellTemplate new];
cell.viewClass = [TTMessageCell class]; // type 1
cell.data = model1;

// 支持鏈?zhǔn)秸Z(yǔ)法
TTCellTemplate *cell2 = TTCellTemplate.make
.viewClassSet([TTRadioCell class])      // type 2
.dataSet(model2);

TTSectionTemplate *section = [TTSectionTemplate new];
[section.cells addObject:cell1];
[section.cells addObject:cell2];

每一個(gè) Cell 將按照你所配置的類型、數(shù)據(jù)進(jìn)行渲染

但是當(dāng)一個(gè) section 中所有 Cell 的類型一致時(shí)铃诬,可以通過配置 section 指定一個(gè) 統(tǒng)一的默認(rèn)類型

TTSectionTemplate *section = [TTSectionTemplate new];
section.viewClass = [TTMessageCell class]; // 整個(gè) Section 可以統(tǒng)一配置 Cell 類型

[section.cells addObject:model1]; // cells 可以直接存儲(chǔ) data
[section.cells addObject:model2];

自動(dòng)刷新

TTTableView 的屬性 sections 數(shù)組祭陷,在默認(rèn)情況下,當(dāng)你對(duì)配置數(shù)組進(jìn)行改動(dòng)操作時(shí)趣席,TableView 會(huì)自動(dòng)刷新視圖兵志。
當(dāng)然你也可以禁用這樣的邏輯,自行手動(dòng)刷新視圖宣肚。只需要關(guān)閉他們的 autoload 選項(xiàng)即可

tableView.autoload = NO;

有自己的BaseCell ?

也許你有自定義的 BaseTableCellBaseTableHeader想罕,不便于繼承 TTTableViewCellTTTableReusableView 時(shí)

為了讓自定義的基類支持可配置霉涨,可以參考 TTTableViewCell 等類按价,遵循 TTCellProviderTTReusableViewProvider 這兩個(gè)視圖協(xié)議笙瑟。
這樣你的基類也就可以被支持用于 TTTableView 進(jìn)行快速配置渲染

固定尺寸楼镐、自適應(yīng)尺寸

不管 TableCell 還是 CollectionCell 都支持固定尺寸,支持使用約束自適應(yīng)尺寸

  • 設(shè)置固定寬高往枷,只需要顯示指定 TTCellTemplatewidthheight 屬性即可

    TTCellTemplate *cell = [TTCellTemplate new];
    cell.width = 100; // 對(duì) tableView 無(wú)效
    cell.height = 40;
    
  • 動(dòng)態(tài)計(jì)算寬高框产,不能設(shè)置 widthheight 屬性

    • 對(duì)于 TableCell,需要 Custom TableCell 內(nèi)部的子控件错洁,在垂直方向上以及與邊界充滿明確的約束

    • CollectionCell 的使用方式稍微復(fù)雜些秉宿,大概步驟如下

      // 1. 設(shè)置大于 0 的預(yù)估尺寸
      TTCollectionView.layout.estimatedItemSize = CGSizeMake(100, 100);
      
      // 2. 與 Table 類似,Custom CollectionCell, 要在水平屯碴、垂直兩個(gè)方向上描睦,都有明確的約束
      

      詳細(xì)步驟 參考這里

    注意:目前只有 Table 支持高度緩存,Collection 如果使用動(dòng)態(tài)寬高窿锉,性能會(huì)降低

Section 單選多選

支持按照 Section 為單位酌摇,按組分別指定單選、多選邏輯

注意:使用該特性嗡载,必須要打開 tableView 的 allowsMultipleSelection

self.tableView.allowsMultipleSelection = YES; // 該屬性必須為YES

TTSectionTemplate *section = [TTSectionTemplate new];
section.allowsMultipleSelection = YES;  // 該組是否多選
section.forceSelection = NO;            // 該組是否強(qiáng)制選擇
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末窑多,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子洼滚,更是在濱河造成了極大的恐慌埂息,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異千康,居然都是意外死亡享幽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門拾弃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)值桩,“玉大人,你說我怎么就攤上這事豪椿”挤兀” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵搭盾,是天一觀的道長(zhǎng)咳秉。 經(jīng)常有香客問我,道長(zhǎng)鸯隅,這世上最難降的妖魔是什么澜建? 我笑而不...
    開封第一講書人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮蝌以,結(jié)果婚禮上炕舵,老公的妹妹穿的比我還像新娘。我一直安慰自己饼灿,他們只是感情好幕侠,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著碍彭,像睡著了一般晤硕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上庇忌,一...
    開封第一講書人閱讀 49,185評(píng)論 1 284
  • 那天舞箍,我揣著相機(jī)與錄音,去河邊找鬼皆疹。 笑死疏橄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的略就。 我是一名探鬼主播捎迫,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼表牢!你這毒婦竟也來(lái)了窄绒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤崔兴,失蹤者是張志新(化名)和其女友劉穎彰导,沒想到半個(gè)月后蛔翅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡位谋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年山析,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掏父。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡笋轨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赊淑,到底是詐尸還是另有隱情翩腐,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布膏燃,位于F島的核電站,受9級(jí)特大地震影響何什,放射性物質(zhì)發(fā)生泄漏组哩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一处渣、第九天 我趴在偏房一處隱蔽的房頂上張望伶贰。 院中可真熱鬧,春花似錦罐栈、人聲如沸黍衙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)琅翻。三九已至,卻和暖如春柑贞,著一層夾襖步出監(jiān)牢的瞬間方椎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工钧嘶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留棠众,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓有决,卻偏偏與公主長(zhǎng)得像闸拿,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子书幕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

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