项目介绍:
项目简介
XLForm
XLForm是最灵活且强大的iOS库,能够创建动态表格视图表单。
这个库的目的是使用十分之一的事件获得与手工表单相同的作用。
XLForm提供了一个特别强大的DSL(领域特定语言)用于创建表格。它在运行时跟踪此范式,更新云用户界面。
使用XLForm创建的iOS日历事件
功能特色
基于声明表单定义的基础上加载一个表单。
持续追踪运行时的定义更改以相应的更新表单接口。
支持能够创建删除及重新排序行的多值章节。
支持自定义行定义。
支持自定义选择器。
提供一些内联选择器并提供一种创建自定义内联选择器的方法。
基于表单验证的表单数据验证。
能够轻松在行之间导航,完全自定义。
如果需要的话可以显示inputAccessoryView。默认显示导航输入辅助视图。
为一个特定航或者整个表单设置只读模式。
可以隐藏或者显示行,这取决于其他行值。
如何创建一个表单
创建一个XLFormVieController实例。
Swift
class CalendarEventFormViewController : XLFormViewController {
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.initializeForm()
}
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
self.initializeForm()
}
func initializeForm() {
// Implementation details covered in the next section.
}
}
Objective-C
import “XLFormViewController.h”
@interface CalendarEventFormViewController: XLFormViewController
@end
@interface ExamplesFormViewController ()
@end
@implementation ExamplesFormViewController
-
(instancetype)initWithNibName:(NSString )nibNameOrNil bundle:(NSBundle )nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self){[self initializeForm];
}
return self;
} -
(id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self){[self initializeForm];
}
return self;
} -
(void)initializeForm {
// Implementation details covered in the next section.
}
@end
github地址:https://github.com/xmartlabs/XLForm