IOS开发入门之尝试下超级表单页面和浮动TextFiled的组合
白羽 2018-11-23 来源 :网络 阅读 1702 评论 0

摘要:本文将带你了解IOS开发入门iOS开发中尝试下超级表单页面和浮动TextFiled的组合,希望本文对大家学IOS有所帮助。

    本文将带你了解IOS开发入门iOS开发中尝试下超级表单页面和浮动TextFiled的组合,希望本文对大家学IOS有所帮助。


        

XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. The goal of the library is to get the same power of hand-made forms butspending 1/10 of the time.

XLForm provides a very powerful DSL (Domain Specific Language) used to create a form. It keeps track of this specification on runtime,updating the UI on the fly.

看到没,人家要带你飞啊,老司机带上我啊,赶紧写个Demo压压惊

先看图

 

来看看人家自己封装好的集中强大的表单cell

 


   

#import "XLForm.h"

// JVFloatLabeledTextField 普通的文本输入框,自带浮动动画

NSString *const XLFormRowDescriptorTypeText = @"text";

// add的时候展示名字的 JVFloatLabeledTextField

NSString *const XLFormRowDescriptorTypeName = @"name";

// 填写URL的cell

NSString *const XLFormRowDescriptorTypeURL = @"url";

NSString *const XLFormRowDescriptorTypeEmail = @"email";

NSString *const XLFormRowDescriptorTypePassword = @"password";

NSString *const XLFormRowDescriptorTypeNumber = @"number";

NSString *const XLFormRowDescriptorTypePhone = @"phone";

NSString *const XLFormRowDescriptorTypeTwitter = @"twitter";

NSString *const XLFormRowDescriptorTypeAccount = @"account";

NSString *const XLFormRowDescriptorTypeInteger = @"integer";

// 选择更换头像图片的cell

NSString *const XLFormRowDescriptorTypeImage = @"image";

NSString *const XLFormRowDescriptorTypeDecimal = @"decimal";

// JVFloat对应的textView的cell

NSString *const XLFormRowDescriptorTypeTextView = @"textView";

NSString *const XLFormRowDescriptorTypeZipCode = @"zipCode";

// 非常普通的点击push选择

NSString *const XLFormRowDescriptorTypeSelectorPush = @"selectorPush";

NSString *const XLFormRowDescriptorTypeSelectorPopover = @"selectorPopover";

NSString *const XLFormRowDescriptorTypeSelectorActionSheet = @"selectorActionSheet";

NSString *const XLFormRowDescriptorTypeSelectorAlertView = @"selectorAlertView";

NSString *const XLFormRowDescriptorTypeSelectorPickerView = @"selectorPickerView";

NSString *const XLFormRowDescriptorTypeSelectorPickerViewInline = @"selectorPickerViewInline";

NSString *const XLFormRowDescriptorTypeMultipleSelector = @"multipleSelector";

NSString *const XLFormRowDescriptorTypeMultipleSelectorPopover = @"multipleSelectorPopover";

NSString *const XLFormRowDescriptorTypeSelectorLeftRight = @"selectorLeftRight";

// 三段选择

NSString *const XLFormRowDescriptorTypeSelectorSegmentedControl = @"selectorSegmentedControl";

// date 月 日 年  (内嵌)

NSString *const XLFormRowDescriptorTypeDateInline = @"dateInline";

// 日期picker选择器内嵌 dateTime更详细  星期 月 日 小时  分(内嵌)

NSString *const XLFormRowDescriptorTypeDateTimeInline = @"datetimeInline";

// date 小时 分 AM/PM(内嵌)

NSString *const XLFormRowDescriptorTypeTimeInline = @"timeInline";

// 计时器,选择hh mm(内嵌)

NSString *const XLFormRowDescriptorTypeCountDownTimerInline = @"countDownTimerInline";

// 月 日 年 sheet

NSString *const XLFormRowDescriptorTypeDate = @"date";

// 最详细的dateTime sheet

NSString *const XLFormRowDescriptorTypeDateTime = @"datetime";

// 小时 分 AM/PM  sheet

NSString *const XLFormRowDescriptorTypeTime = @"time";

// 计时器  底部弹出来的

NSString *const XLFormRowDescriptorTypeCountDownTimer = @"countDownTimer";

// 直接展示一大坨datePicker

NSString *const XLFormRowDescriptorTypeDatePicker = @"datePicker";

NSString *const XLFormRowDescriptorTypePicker = @"picker";

// slider

NSString *const XLFormRowDescriptorTypeSlider = @"slider";

// 展示选中打钩的cell

NSString *const XLFormRowDescriptorTypeBooleanCheck = @"booleanCheck";

// 自带右边switch开关 

NSString *const XLFormRowDescriptorTypeBooleanSwitch = @"booleanSwitch";

// button的cell  各种button位置需求

NSString *const XLFormRowDescriptorTypeButton = @"button";

// 简单的右侧描述信息的cell

NSString *const XLFormRowDescriptorTypeInfo = @"info";

// 展示segment count计数

NSString *const XLFormRowDescriptorTypeStepCounter = @"stepCounter";

   


好多是吧,咱们直接拿来用就好了,类似于UITableView注册的cellID

 

你以为这就完了???!!!!

老外的库怎么能少了自定义功能呢,没有这个功能,那么这个库和咸鱼又有什么区别呢??!!

 

第一步:创建控制器(继承XLFormViewController)

分析:

这里init方法里面有三个值

 

XLFormDescriptor 表单

XLFormSectionDescriptor section

XLFormRowDescriptor row

咱们挨个创建,并且add到对应的section就可以了,最后记得带上一句self.form = form

 


   

- (instancetype)initWithCoder:(NSCoder *)aDecoder

{

    self = [super initWithCoder:aDecoder];

    if (self)

    {

        [self initializeForm];

    }

    return self;

}

 

- (instancetype)init

{

    self = [super init];

    if (self) {

        [self initializeForm];

    }

    return self;

}

// 初始化表单

- (void)initializeForm

{

    // 表单对象

    XLFormDescriptor *form;

    // 表单Section对象

    XLFormSectionDescriptor *section;

    // 表单Row对象

    XLFormRowDescriptor *row;

     

    // 初始化form 顺便带个title

    form = [XLFormDescriptor formDescriptorWithTitle:@"超级表单"];

     

    // 第一个Section 没有参数的

    section = [XLFormSectionDescriptor formSection];

    [form addFormSection:section];

     

    // 第一个就要自定义 车牌号 自定义cell

    row = [XLFormRowDescriptor formRowDescriptorWithTag:@"first" rowType:XLFormRowDescriporTypeCar title:@"车牌号"];

    row.required = YES;

    row.value = @{@"country":@"浙",@"number":@"123456"};

    [section addFormRow:row];

     

     

    // 第二段

    section = [XLFormSectionDescriptor formSection];

    [form addFormSection:section];

     

<code class    

   

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved