XLForm - 根据用户输入动态添加行

时间:2015-07-29 07:54:07

标签: ios objective-c xlform

我正在尝试根据用户的输入在表单中添加更多行。

例如,我有一个字段,询问我要向表单添加多少行。如果输入为5,则将生成另外5行并将其附加到表单中。

截至目前,XLForm能够添加单行(例如多值形式),我想我是否可以做同样但是批量处理而不是每次只添加一行。

这可能吗?

1 个答案:

答案 0 :(得分:1)

自从我处理XLForm以来已经有一段时间了,但我认为这样的事情会很好:

-(void) formRowDescriptorValueHasChanged:(XLFormRowDescriptor *)formRow oldValue:(id)oldValue newValue:(id)newValue {
    [super formRowDescriptorValueHasChanged:formRow oldValue:oldValue newValue:newValue];

    NSNumber *newVal = [newValue valueData];

    int count = newVal.intValue; //5

    for(int i=0; i<count; i++) {
        NSString *title = [NSString stringWithFormat:@"title %d",i+1];
        XLFormRowDescriptor *row = [XLFormRowDescriptor formRowDescriptorWithTag:title rowType:XLFormRowDescriptorTypeText];
        [row.cellConfigAtConfigure setObject:title forKey:@"textField.placeholder"];
        [self.form addFormRow:row afterRowTag:someOtherRow.tag];
    }
}