【发布时间】:2014-08-14 18:01:14
【问题描述】:
我开始在 iOS 上使用非常出色的 XLForm 项目 (https://github.com/xmartlabs/XLForm),但是我遇到了一些可能很容易回答但我无法弄清楚的问题。
我想检测行值的变化 - 例如文本字段或分段控件。我需要实施什么方法来捕捉这种变化?我猜测它来自控件本身,但由于 XLForm 管理控件,因此我不清楚如何获取它。
非常感谢!
【问题讨论】:
我开始在 iOS 上使用非常出色的 XLForm 项目 (https://github.com/xmartlabs/XLForm),但是我遇到了一些可能很容易回答但我无法弄清楚的问题。
我想检测行值的变化 - 例如文本字段或分段控件。我需要实施什么方法来捕捉这种变化?我猜测它来自控件本身,但由于 XLForm 管理控件,因此我不清楚如何获取它。
非常感谢!
【问题讨论】:
-(void)formRowDescriptorValueHasChanged:(XLFormRowDescriptor *)formRow oldValue:(id)oldValue newValue:(id)newValue{
}
【讨论】:
【讨论】:
别忘了打电话
[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];
}
}
}
【讨论】:
对于 Swift:
override func formRowDescriptorValueHasChanged(formRow: XLFormRowDescriptor!, oldValue: AnyObject!, newValue: AnyObject!) {
print("changed!")
}
【讨论】: