我有一个 NSTextField 绑定到我的模型。如果我以编程方式更改文本字段的内容,则模型不会更新。我知道您应该更新模型。
但是我正在尝试实现一个 NSTextField 子类,该子类在鼠标悬停在滚动条上以更改其数值时识别滚动条。显然我无法从这个子类访问模型。所以你有什么建议我怎么能做到这一点?
解决方案(感谢 noa):
- (void)scrollWheel:(NSEvent *)theEvent {
[self setFloatValue:[self floatValue] - [theEvent deltaY]];
NSDictionary *bindingInfo = [self infoForBinding: NSValueBinding];
NSObject *boundObject = [bindingInfo valueForKey:NSObservedObjectKey];
NSString *keyPath = [bindingInfo valueForKey:NSObservedKeyPathKey];
[boundObject setValue:[NSNumber numberWithFloat:[self floatValue]]
forKeyPath:keyPath];
}