JMFormDescription 0.0.3

JMFormDescription 0.0.3

测试测试过的
语言语言 Obj-CObjective C
许可 MIT
发布最后发布2014年12月

Jérôme Morissard 维护。




  • 作者
  • jerome Morissard

JMFormDescription 是一个用于 iOS 上轻松创建表单的 Objective-C 库。

Image

创建表单元素(JMFormView)

要创建一个表单对象

    JMTextfieldFormViewDescription *textfieldDesc  = [JMTextfieldFormViewDescription new];
    textfieldDesc.placeholder = @"Mon placeholder";
    textfieldDesc.data = model.textfieldText1;
    textfieldDesc.formDelegate = self;
    textfieldDesc.modelKey = @"textfieldText1";

支持的 formViews

  • JMFormSectionHeaderFormView(模拟部分标题),
  • JMTextfieldFormView,
  • JMTextfieldWithTitleFormView,
  • JMSwitchFormView,
  • JMButtonFormView,
  • JMListFormView,
  • JMTextViewFormView。

创建表单(JMFormScrollView)

创建一个描述所有表单视图的表单描述,并调用 JMScrollView 实例方法

- (void)reloadScrollViewWithFormDescription:(NSArray *)descriptions

表单视图动作、方法、更新

代理(JMFormDelegate)

- (void)textUpdatedFromFormView:(JMTextfieldFormView *)formView textfield:(UITextField *)textfield toText:(NSString *)text;
- (void)textUpdatedFromFormView:(JMTextViewFormView *)formView textView:(UITextView *)textView toText:(NSString *)text;
- (void)switchChangedFromFormView:(JMSwitchFormView *)formView toValue:(BOOL)value;
- (void)buttonPressedFromFormView:(JMButtonFormView *)formView withTitleValue:(NSString *)value;
- (void)listPressedFromFormView:(JMListFormView *)formView withSelectedValue:(NSString *)value;
- (void)selectedChoice:(NSString *)choice forModelKey:(NSString *)modelKey;
- (void)scrollToFormView:(JMFormView *)formView;

块(JMFormViewCompltionBlock)

表单描述可以包含您的更新方法!

JMTextfieldFormViewDescription *textfieldDesc = [JMTextfieldFormViewDescription new];
textfieldDesc.placeholder = @"Mon placeholder4";
textfieldDesc.data = model.maValeur;
textfieldDesc.completionBlock = ^(id modifiedValue){
     model.maValeur = modifiedValue;
};

表单视图 UIAppearance

JMFormView 可以使用 UIAppearance 协议进行定制。

[[JMFormView appearance] setFormViewBackgroundColor:[UIColor colorWithRed:219.0/255 green:214.0/255 blue:208/255 alpha:1.0]];
[[JMTextfieldFormView appearance] setFormViewTextfieldFont:[UIFont fontWithName:@"HelveticaNeue-Regular" size:16.0f]];
[[JMTextfieldFormView appearance] setFormViewTextfieldTextColor:[UIColor blackColor]];

[[JMTextfieldWithTitleFormView appearance] setFormViewTitleFont:[UIFont fontWithName:@"HelveticaNeue-Thin" size:16.0f]];
[[JMFormSectionHeaderFormView appearance] setFormViewHeaderLabelFont:[UIFont fontWithName:@"HelveticaNeue-Thin" size:25.0f]];
[[JMFormSectionHeaderFormView appearance] setFormViewHeaderBackgroundColor:[UIColor whiteColor]];

[[JMButtonFormView appearance] setFormViewButtonTitleColor:[UIColor whiteColor]];
[[JMButtonFormView appearance] setFormViewButtonBackgroundColor:[UIColor blackColor]];
[[JMButtonFormView appearance] setFormViewButtonTitleFont:[UIFont fontWithName:@"HelveticaNeue-Regular" size:16.0f]];

[[JMSwitchFormView appearance] setFormViewTitleFont:[UIFont fontWithName:@"HelveticaNeue-Thin" size:15.0f]];
[[JMSwitchFormView appearance] setFormViewSwitchTintColor:[UIColor purpleColor]];

待办事项

  • 添加 PickerFormView,
  • 添加 DatePickerFormView,
  • 键盘类型,
  • Textfield 正则表达式验证输入,
  • 实现动态重载、插入、删除。