我尝试了一个非常简单的实现,如下所示:
@implementation ScrollingTextField
- (void)scrollWheel:(NSEvent *)event {
self.doubleValue -= event.scrollingDeltaY;
}
@end
我将滚动文本字段的value
绑定到其他对象。滚动现在可以更新文本字段上的可见文本。但是,绑定值不会改变。
为什么绑定值不会改变? 或者:如何使绑定值识别更改?
答案 0 :(得分:5)
绑定值不会更改by Apple's design。要在更改后自己将值传播到模型,请调整以下代码:
NSDictionary *bindingInfo = [self infoForBinding:NSValueBinding];
[[bindingInfo valueForKey:NSObservedObjectKey] setValue:self.doubleValue
forKeyPath:[bindingInfo valueForKey:NSObservedKeyPathKey]];
(感谢@DrummerB关于Apple链接!)