我尝试了一个非常简单的实现,如下所示:
@implementation ScrollingTextField
- (void)scrollWheel:(NSEvent *)event {
self.doubleValue -= event.scrollingDeltaY;
}
@end
我将滚动文本字段的值
绑定(bind)到其他对象。现在,滚动可以很好地更新文本字段上的可见文本。但是,绑定(bind)值不会改变。
为什么绑定(bind)值没有改变? 或者:如何让绑定(bind)值识别变化?
最佳答案
绑定(bind)值不变by Apple's design 。要在更改后自行将值传播到模型,请调整以下代码:
NSDictionary *bindingInfo = [self infoForBinding:NSValueBinding];
[[bindingInfo valueForKey:NSObservedObjectKey] setValue:self.doubleValue
forKeyPath:[bindingInfo valueForKey:NSObservedKeyPathKey]];
(感谢 @DrummerB 提供的 Apple 链接!)
关于cocoa - 使用 Cocoa Bindings 将编程文本字段值更改传播到模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8310236/