iOS表格FormTable

在項目開發(fā)中剂买,我們偶爾會用到表格來展示一些數(shù)據(jù)狐肢,但是在iOS的現(xiàn)有控件中添吗,對于表格支持的不好,應(yīng)該說并沒有支持份名,所以碟联,造了一個表格的輪子,根據(jù)數(shù)據(jù)驅(qū)動實現(xiàn)不同的表格樣式及交互事件僵腺,先來看看效果

  • 圖一:


    image
  • 圖二:


    image
  • 圖三:


    image

還算比較簡單鲤孵,由于項目中還存在抬頭數(shù)量不同的情況(圖二與圖三),以及對特定的item具有點擊事件辰如,所以如果沒有一個通用的輪子普监,在做UI的時候,還是比較麻煩的琉兜。

處理方案:

1.整個外部采用的是一個tableView凯正,我們稱為外部tableView
2.cell中的每行也還是一個tableview,我們稱為內(nèi)部tableView
3.內(nèi)部tableView的cell就是collectionview了豌蟋,每一個item廊散,都是uicollectionviewCell
4.然后再針對item的樣式,事件進行定制化開發(fā)夺饲。

樣式說明

可以調(diào)整每個item的占比,文字的大小施符,顏色往声,對齊方式,是否存在邊框線戳吝,以及是否有點擊事件

數(shù)據(jù)模型

內(nèi)層樣式
FTFormItemModel

/** 顯示內(nèi)容 */
@property (strong, nonatomic) NSString *title;
/** 字體顏色 */
@property (strong, nonatomic) UIColor *textColor;
/** 字體大小 (默認12)*/
@property (assign, nonatomic) CGFloat fontSize;
/** 位置:居中浩销,靠左,靠右等(默認居中) */
@property (assign, nonatomic) NSTextAlignment textAlignment;
/** 寬度比率听哭,默認為:1 (假設(shè)比率為1慢洋,一行總共4個數(shù)據(jù),則寬度為 ) 0.25 * SCREEN_WIDTH */
@property (assign, nonatomic) CGFloat widthRate;
/** 背景色 */
@property (strong, nonatomic) UIColor *backgroundColor;
/** 文字或圖片 */
@property (assign, nonatomic) FTFormItemType formItemType;

#pragma mark - ################內(nèi)容的展開################
/** 次級內(nèi)容 */
@property (strong, nonatomic) NSString *subTitle;
/** 次級字體顏色 */
@property (strong, nonatomic) UIColor *subTextColor;
/** 次級字體大小 (默認12)*/
@property (assign, nonatomic) CGFloat subFontSize;
/** 是否允許點擊 */
@property (assign, nonatomic, getter=isAllowTap) BOOL allowTap;

@property (assign, nonatomic, getter=isNextPage) BOOL nextPage;
外層數(shù)據(jù)
FTFormModel

/** 行高:默認44 */
@property (assign, nonatomic) CGFloat rowHeight;
/** 寬度比率總和 */
@property (assign, nonatomic) CGFloat widthRateTotal;
/** 背景色 */
@property (strong, nonatomic) UIColor *backgroundColor;
/** 邊距 */
@property (nonatomic) UIEdgeInsets edgeInsets;
/** 分隔線長度:為0時則達到隱藏分隔線的效果陆盘,默認占滿整行 */
@property (assign, nonatomic, ) CGFloat separateLineWidth;
/** item數(shù)據(jù) */
@property (strong, nonatomic) NSArray <FTFormItemModel *> *formItemArray;
/** 屬于第幾條數(shù)據(jù) */
@property (assign, nonatomic) NSInteger index;

#pragma mark - ################內(nèi)容的展開################
/** sub寬度比率總和 */
@property (assign, nonatomic) CGFloat subWidthRateTotal;
/** 內(nèi)邊距 */
@property (nonatomic) UIEdgeInsets subEdgeInsets;
/** 子項集合 */
@property (strong, nonatomic) NSArray <FTFormItemModel *> *subItemArray;
/** 選中狀態(tài) */
@property (assign, nonatomic, getter=isSelectedStatus) BOOL selectedStatus;

完整Demo:GitHub

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末普筹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子隘马,更是在濱河造成了極大的恐慌太防,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酸员,死亡現(xiàn)場離奇詭異蜒车,居然都是意外死亡讳嘱,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門酿愧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沥潭,“玉大人,你說我怎么就攤上這事嬉挡《鄹耄” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵棘伴,是天一觀的道長寞埠。 經(jīng)常有香客問我,道長焊夸,這世上最難降的妖魔是什么仁连? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮阱穗,結(jié)果婚禮上饭冬,老公的妹妹穿的比我還像新娘。我一直安慰自己揪阶,他們只是感情好昌抠,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鲁僚,像睡著了一般炊苫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上冰沙,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天侨艾,我揣著相機與錄音,去河邊找鬼拓挥。 笑死唠梨,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的侥啤。 我是一名探鬼主播当叭,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼盖灸!你這毒婦竟也來了蚁鳖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤赁炎,失蹤者是張志新(化名)和其女友劉穎才睹,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡琅攘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年垮庐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坞琴。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡哨查,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出剧辐,到底是詐尸還是另有隱情寒亥,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布荧关,位于F島的核電站溉奕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏忍啤。R本人自食惡果不足惜加勤,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望同波。 院中可真熱鬧鳄梅,春花似錦、人聲如沸未檩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冤狡。三九已至孙蒙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間悲雳,已是汗流浹背挎峦。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工怜奖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留浑测,地道東北人翅阵。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像滥崩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子讹语,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,515評論 25 707
  • 今天是元宵節(jié)钙皮,對我來說,是有意義的一天。 (一) 很早就計劃到小姑姐家過小年导匣。前一天晚上就做好第二天安排,早上起來...
    琴素親子閱讀 306評論 0 4
  • 作者:陳金文 導(dǎo)師:劉艷 袁浩 鄭鵬 導(dǎo)圖解說:上海天生驕傲聽課筆記 心得體會:導(dǎo)圖邊聽邊記還不會運用贡定,以后多練習。
    路西法媽媽閱讀 120評論 0 0