0

ユーザーの入力に基づいてフォームに行を追加しようとしています。

たとえば、フォームに追加する行数を尋ねるフィールドがあります。入力が 5 の場合、さらに 5 行が生成され、フォームに追加されます。

現在、XLForm には単一の行 (複数値フォームなど) を追加する機能があります。毎回単一の行を追加するのではなく、同じことを一括で行うことができるかどうかを考えていました。

これは可能ですか?

4

1 に答える 1

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];
    }
}
于 2015-07-29T13:55:37.500 に答える