我正在尝试根据用户的输入在表单中添加更多行。
例如,我有一个字段,询问我要向表单添加多少行。如果输入为5,则将生成另外5行并将其附加到表单中。
截至目前,XLForm能够添加单行(例如多值形式),我想我是否可以做同样但是批量处理而不是每次只添加一行。
这可能吗?
答案 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];
}
}