XLForm检测行值的变化

  • 本文关键字:变化 XLForm ios xlform
  • 更新时间 :
  • 英文 :


我开始在iOS上使用非常优秀的XLForm项目(https://github.com/xmartlabs/XLForm),但是我遇到了一些可能真的很容易回答的问题,但我不能弄清楚。

我想检测行值的变化-例如文本字段或分段控件。我需要实现什么方法来捕获此更改?我猜它来自控件本身,但我不清楚究竟如何得到它,因为XLForm管理控件。

非常感谢!

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

正如Github所指出的那样,下面是如何做到这一点:

https://github.com/xmartlabs/XLForm动力形成了——how-to-change-the-form-dynamically-at-runtime

别忘了调用

[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];
        }
    }
}

For Swift:

override func formRowDescriptorValueHasChanged(formRow: XLFormRowDescriptor!, oldValue: AnyObject!, newValue: AnyObject!) {
print("changed!")
}

相关内容

  • 没有找到相关文章

最新更新