多樣式可輸入點(diǎn)擊list (個(gè)人中心,編輯等)

最近項(xiàng)目中遇到很多需要輸入的ListView 30-40 界面需要兩三天完成 所以想到使用plist存儲數(shù)據(jù) 用來快速布局 (各種顯示listView 和個(gè)人中心等)

demo地址 喜歡的話給顆星

/** 判斷cell 后面顯示內(nèi)容 輸入框 按鈕 等*/
@property(assign,nonatomic)ZFShowType type;

/**------- 下面是屬性是對于標(biāo)題的 ------------ */
/** 圖片+標(biāo)題 */
@property(copy,nonatomic)NSString *titleImg;
/** 標(biāo)題 */
@property(copy,nonatomic)NSString *title;
/** 是否需要標(biāo)記 * 默認(rèn)NO */
@property(assign,nonatomic)BOOL canTag;

/**------- 下面是屬性是對于單輸入框的 ------------ */
/** textfield placeholder */
@property(copy,nonatomic)NSString *placeholder;
/** textfield 限制輸入多少字?jǐn)?shù) 默認(rèn)不限制輸入*/
@property(assign,nonatomic)NSInteger limitLength;
/** textfield 內(nèi)容 */
@property(copy,nonatomic)NSString *text;
/** 可不可以編輯 默認(rèn) NO  */
@property(assign,nonatomic)BOOL canEdit;
/** 是否隱藏箭頭 默認(rèn) NO*/
@property(assign,nonatomic)BOOL canHiddenBack;
/** 鍵盤類型 1 數(shù)字鍵盤 2 身份證 3 */
@property(strong,nonatomic)NSNumber *isBord;
/** 鍵盤類型 */
@property(nonatomic) UIKeyboardType keyboardType;
/** 判斷輸入的提交時(shí)候可不可以為空 */
@property(assign,nonatomic)BOOL canEmpty;

/**------- 下面是屬性是對于開關(guān)的 ------------ */
/** 進(jìn)入默認(rèn)開啟還是關(guān)閉 */
@property(assign,nonatomic)BOOL on;

/**------- 用于多層次列表數(shù)據(jù)傳輸 ------------ */

/** dataArr 用來存儲model 數(shù)據(jù)類型 */
@property(strong,nonatomic)NSArray *dataArr;
/** parmas 用來存儲對應(yīng)數(shù)據(jù)的鍵值對 */
@property(strong,nonatomic)NSDictionary *parmas;

你想要什么cell 必須需要添加type 默認(rèn)可以輸入
typedef NS_ENUM(NSInteger,ZFShowType){
    ZFShowTypeInput = 0,//可以輸入一行
    ZFShowTypeSwitch,//按鈕
    ZFShowTypeInputMore,//輸入多行
};
1.如果需要自定義可以繼承于 ZFBaseTableView 即可
1.1 普通界面布局
plist 文件 配置只需要添加 title 和 text 屬性就行
/** 標(biāo)題 */
@property(copy,nonatomic)NSString *title;
/** textfield 內(nèi)容 */
@property(copy,nonatomic)NSString *text;

2017-12-22 at 13.54.08.png
1.2 title標(biāo)題代圖片的 或是 需要添加標(biāo)記的
plist 文件 配置只需要添加 title 和 text  titleImg屬性就行
/** 圖片+標(biāo)題 */
@property(copy,nonatomic)NSString *titleImg;
/** 標(biāo)題 */
@property(copy,nonatomic)NSString *title;
/** textfield 內(nèi)容 */
@property(copy,nonatomic)NSString *text;

Simulator Screen Shot - iPhone X - 2017-12-22 at 13.54.23.png
Simulator Screen Shot - iPhone X - 2017-12-22 at 13.54.34.png

下面是左邊有圖片 有標(biāo)記的

當(dāng)plist文件中不配置text屬性 分組 有尾試圖 等
其中尾試圖可以自己根據(jù)繼承于ZFBaseTableView 修改成自己想要的樣式等

Simulator Screen Shot - iPhone X - 2017-12-22 at 13.54.37.png
Simulator Screen Shot - iPhone X - 2017-12-22 at 13.54.40.png

Simulator Screen Shot - iPhone X - 2017-12-22 at 13.54.43.png
1.3 如果需要可以輸單行輸入需要修改canEdit 這個(gè)屬性變成YES
/** 可不可以編輯 默認(rèn) NO  */
@property(assign,nonatomic)BOOL canEdit;
/**  限制輸入多少字?jǐn)?shù) 默認(rèn)不限制輸入*/
@property(assign,nonatomic)NSInteger limitLength;

Simulator Screen Shot - iPhone X - 2017-12-22 at 13.54.58.png
Simulator Screen Shot - iPhone X - 2017-12-22 at 13.56.33.png
1.4 如果需要右邊是按鈕只要需要設(shè)置type =1 和title就可以 也可以在左側(cè)添加標(biāo)記和圖片等
/** 判斷cell 后面顯示內(nèi)容 輸入框 按鈕 等*/
@property(assign,nonatomic)ZFShowType type;
/** 圖片+標(biāo)題 */
@property(copy,nonatomic)NSString *titleImg;
/** 標(biāo)題 */
@property(copy,nonatomic)NSString *title;
/** 是否需要標(biāo)記 * 默認(rèn)NO */
@property(assign,nonatomic)BOOL canTag;
Simulator Screen Shot - iPhone X - 2017-12-22 at 14.01.51.png
1.5 多行輸入只要需要設(shè)置type =2 和title就可以 也可以在左側(cè)添加標(biāo)記和圖片等
/** 判斷cell 后面顯示內(nèi)容 輸入框 按鈕 等*/
@property(assign,nonatomic)ZFShowType type;
/** 圖片+標(biāo)題 */
@property(copy,nonatomic)NSString *titleImg;
/** 標(biāo)題 */
@property(copy,nonatomic)NSString *title;
/** 是否需要標(biāo)記 * 默認(rèn)NO */
@property(assign,nonatomic)BOOL canTag;
Simulator Screen Shot - iPhone X - 2017-12-22 at 14.02.15.png

2.獲取輸入數(shù)據(jù)

在 ZFCustomTools 在這個(gè)工具類中我們可以獲取輸入的數(shù)據(jù) 具體使用可以自己看看demo 

/** plist轉(zhuǎn)模型 */
+(NSMutableArray <ZFCustomModel *>*)zf_getDataWithPlist:(NSString *)plist;
/** 根據(jù)indexPath獲取對應(yīng)模型 */
+(ZFDetailCustomModel *)zf_getModelWithArr:(NSArray *)dataArr fromIndexPath:(NSIndexPath *)path;
/** 根據(jù)模型獲取轉(zhuǎn)換數(shù)據(jù) */
+(id)zf_getObjctWithModelArr:(NSArray *)dataArr;
/**
 根據(jù)輸入的數(shù)據(jù)獲取輸入數(shù)據(jù) 并且轉(zhuǎn)成對于需要的數(shù)據(jù) key-value
 originalArr 存儲是key
 一組或多組使用
 @[@[string,string,string,string,],@[string,string,string,string,]];
 必須一一對應(yīng)才可以 
 */
+(NSMutableDictionary *)zf_getObjectWithModelArr:(NSMutableArray *)dataArr WithOriginal:(NSArray *)originalKeys;

/** 根據(jù)輸入數(shù)據(jù) 判斷數(shù)據(jù)能不能為空
 調(diào)用方法 [ZFCustomTools zf_changeInputData](NSarray) 返回字典
 */
+(NSDictionary *(^)(NSArray *dataArr))zf_changeInputData;

Simulator Screen Shot - iPhone X - 2017-12-22 at 14.03.07.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,345評論 0 17
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,094評論 25 709
  • 《ijs》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 5,646評論 0 7
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評論 19 139
  • 我喜歡聽很多人分享生命故事,有時(shí)候也會聯(lián)想到自己,聽的多了便會發(fā)現(xiàn)成長是有規(guī)律的,就像一朵花、一棵樹他會在什...
    天雅薇閱讀 868評論 6 2

友情鏈接更多精彩內(nèi)容