XLForm检测到行值的变化

时间:2014-08-14 18:01:14

标签: ios xlform

我开始使用非常出色的XLForm项目(https://github.com/xmartlabs/XLForm)用于iOS,但是我遇到了一些可能很容易回答的问题,但我无法理解。

我想检测行值的变化 - 例如文本字段或分段控件。我需要采用什么方法来捕捉这种变化?我猜它来自控件本身,但我不清楚如何实现它,因为XLForm管理控件。

非常感谢!

4 个答案:

答案 0 :(得分:4)

-(void)formRowDescriptorValueHasChanged:(XLFormRowDescriptor *)formRow oldValue:(id)oldValue newValue:(id)newValue{

}

答案 1 :(得分:1)

答案 2 :(得分:1)

不要忘记调用

[super formRowDescriptorValueHasChanged:oldValue:newValue]

以上是上面的例子

-(void)formRowDescriptorValueHasChanged:(XLFormRowDescriptor *)formRow oldValue:(id)oldValue newValue:(id)newValue
{
    // super implementation MUST be called
    [super formRowDescriptorValueHasChanged:formRow oldValue:oldValue newValue:newValue];

    if ([formRow.tag isEqualToString:@"alert"]){
        if ([[oldValue valueData] isEqualToNumber:@(0)] == NO && [[newValue valueData] isEqualToNumber:@(0)]){
            [self.form removeFormRow:formRow];
        }
    }
}

答案 3 :(得分:0)

对于Swift:

override func formRowDescriptorValueHasChanged(formRow: XLFormRowDescriptor!, oldValue: AnyObject!, newValue: AnyObject!) {

print("changed!")

}