美文网首页
XLForm 框架学习笔记(持续更新......)

XLForm 框架学习笔记(持续更新......)

作者: 继续向前冲 | 来源:发表于2016-08-26 17:17 被阅读315次

最近公司要做新项目,趁着现在不忙赶紧将一些知识点提前储备下,由于产品是一款安全产品,需要输入好多信息而且产品的需求又非常细,所以想讲页面做成那种可以配置的,期初简直是让我蛋都碎了,不过还好有强大的github,找到了这个XLForm,它可以方便的进行配置界面省时省力,所以将了解到的东西赶紧记下来,以后好方便开发

Multivalued sections(增加,删除,移动行)

任何的XLFormSectionDescriptor对象都支持增加,删除,移动行数据,模式是可以配置的首先先是建立一组数据API:


section = [XLFormSectionDescriptor formSectionWithTitle:@"Multivalued TextField"

sectionOptions:  XLFormSectionOptionCanReorder|XLFormSectionOptionCanInsert | XLFormSectionOptionCanDelete

sectionInsertMode:XLFormSectionInsertModeButton];

如上面所示,第二个参数可以根据配置得到支持任何增删改的组合形式

第三个参数为增加的行数据进入界面的方式,XLFormSectionInsertModeLastRow (从右向左滑动进入) XLFormSectionInsertModeButton(从上到下进入) 第一个为默认参数

动态添加例子


- (id)init

{

XLFormDescriptor * form; //建立表单,等同于创建uitableview

XLFormSectionDescriptor * section;//建立组  section

XLFormRowDescriptor * row;//建立行相当于cell

//动态的将要添加一下行添加到组里

NSArray * nameList =@[@"family",@"male",@"female",@"client"];

form = [XLFormDescriptorformDescriptorWithTitle:@"Multivalued examples"];

// 初始化每个cell的类型与属性

section = [XLFormSectionDescriptorformSectionWithTitle:@"MultiValued TextField"

sectionOptions:XLFormSectionOptionCanReorder | XLFormSectionOptionCanInsert |XLFormSectionOptionCanDelete];

section.multivaluedTag =@"textFieldRow";

[form addFormSection:section];

//添加循环遍历数组动态添加数据 思考可以将数组做成plist文件,这样可以单独配置有需求可以修改

for (NSString * tagin nameList) {

//        创建一个单行输入框

row = [XLFormRowDescriptorformRowDescriptorWithTag:nilrowType:XLFormRowDescriptorTypeTexttitle:nil];

//设置placeholder

[[row cellConfig]setObject:@"Add a new tag"forKey:@"textField.placeholder"];

//添加默认值

row.value = [tagcopy];

//添加到一组中

[section addFormRow:row];

}

//    最后添加看一个添加按钮

row = [XLFormRowDescriptorformRowDescriptorWithTag:nilrowType:XLFormRowDescriptorTypeTexttitle:nil];

[[row cellConfig]setObject:@"Add  tag"forKey:@"textField.placeholder"];

[section addFormRow:row];

return [superinitWithForm:form];

}

获取值

你能在-(NSDictionary *)formValues中获取所有的行信息,或者是XLFormViewController实例和XLFormDescriptor实例

XLForm添加值添加在行信息XLFormRowDescriptor中,它属于XLFormSectionDescriptor,用建立XLFormRowDescriptor时传入的Tag还获取值,其中并不存multivaluedTag。

每一个组信息中都存在着一个multivaluedTag值,里面存在着当前组内的行信息的数组multivaluedTag值为Key

例如:

//根据 section.multivaluedTag = @"textFieldRow" 获取到相应的组信息,打印出来的为当前组的所有行的value

NSArray * tempvalues =form.formValues[@"textFieldRow"];

NSLog(@"%@",form.formValues[@"textFieldRow"]);

//formSections中存储着表单中所有组的指针

XLFormSectionDescriptor * tempsection=form.formSections[0];

//重新遍历一次,值是一样的

for (int index=0; index

相关文章

  • XLForm 框架学习笔记(持续更新......)

    最近公司要做新项目,趁着现在不忙赶紧将一些知识点提前储备下,由于产品是一款安全产品,需要输入好多信息而且产品的需求...

  • iOS XLForm框架

    1、初步了解 XLForm框架学习修改笔记第一篇 2、使用案例(重点) iOS 复杂表单 使用XLForm实现, ...

  • XLForm框架学习修改笔记第二篇

    整体的目录结构 分批次描述: cell 文件夹 没有必要一一讲述,这里就是不同元素,每个元素其实都是UITable...

  • 初识TensorFlow

    TensorFlow学习笔记,持续更新 https://www.processon.com/view/link/5...

  • 随笔

    持续学习,持续学习。人有持续学习,更新知识体系,有自己的知识框架 。这样就算遇到困难 也会对这件事看到这个事情的本...

  • Spring 全量知识点笔记

    学习spring的学习笔记,持续更新中~~~ Spring是什么 Spring是一个以IoC(Inversion ...

  • 【编码】ASCII、ISO 8859-1、Unicode(UTF

    编码学习笔记,资料来源互联网,持续更新 1 ASCII American Standard Code for In...

  • 使用swift的100个tips

    持续更新的个人笔记

  • XLForm框架学习修改笔记第一篇

    工作中马上要开的新项目,需要深度使用更改XLForm框架,所以结合着去年学习的一点知识,这次要对它开始大搞,第一篇...

  • Android 中的 23 种设计模式

    系列笔记 通过学习 Android 的设计模式而记的笔记。(持续更新中...) 源码地址 Android 单例模式...

网友评论

      本文标题:XLForm 框架学习笔记(持续更新......)

      本文链接:https://www.haomeiwen.com/subject/vsszsttx.html