Objective c 使用nil minValue将NSSlider绑定到NSTextField?
我将一个NSSlider绑定到一个文本字段,以显示滑块给定的值。 一切正常,但我希望NSSlider将nil作为minValue发送到对象 例如,我可以在保存到propertylist时将其转换为nil:Objective c 使用nil minValue将NSSlider绑定到NSTextField?,objective-c,cocoa,interface-builder,slider,cocoa-bindings,Objective C,Cocoa,Interface Builder,Slider,Cocoa Bindings,我将一个NSSlider绑定到一个文本字段,以显示滑块给定的值。 一切正常,但我希望NSSlider将nil作为minValue发送到对象 例如,我可以在保存到propertylist时将其转换为nil: if ([myOb intValue] > 0) [myDict setObject:... forKey:...] 但我希望在应用程序运行时应用相同的行为,因为只有当myObj的值为nil时,其他一些字段才启用绑定。问题是NSSlider始终返回0,并且NSSlider不接受
if ([myOb intValue] > 0)
[myDict setObject:... forKey:...]
但我希望在应用程序运行时应用相同的行为,因为只有当myObj的值为nil时,其他一些字段才启用绑定。问题是NSSlider始终返回0,并且NSSlider不接受minValue=nil
提前感谢,,
Ronan。它不会接受nil作为最小值。如果您查看NSSlider文档,原因是minValue和maxValue都定义为双精度,而不是对象类型
如果要自定义文本字段中显示的值,可能需要创建NSValueTransformer子类,以便将文本字段的双精度值转换为NSString值。有关如何执行此操作的详细信息,请阅读。我在过去做过这件事,这样我就可以有一个标签来显示时间值,类似于系统首选项中的屏幕保护程序滑块。这非常有效。它不会接受nil作为最小值。如果您查看NSSlider文档,原因是minValue和maxValue都定义为双精度,而不是对象类型
如果要自定义文本字段中显示的值,可能需要创建NSValueTransformer子类,以便将文本字段的双精度值转换为NSString值。有关如何执行此操作的详细信息,请阅读。我在过去做过这件事,这样我就可以有一个标签来显示时间值,类似于系统首选项中的屏幕保护程序滑块。这非常有效。通过将滑块与iAction关联,我终于解决了我的问题:
- (IBAction)slideValue:(id)sender {
if ([mySlide intValue]==0) { //slider
[myNumBox setStringValue:@""]; //textfield
[myValue setValue:nil]; // value
}
}
因此,当滑块等于O时,它将返回文本字段nil dot works。通过将滑块与iAction关联,我终于解决了我的问题:
- (IBAction)slideValue:(id)sender {
if ([mySlide intValue]==0) { //slider
[myNumBox setStringValue:@""]; //textfield
[myValue setValue:nil]; // value
}
}
因此,当滑块等于O时,它将返回文本字段nil dot works。好的,它的创建看起来有点复杂,但我会尝试。。。谢谢。我不会不同意的-好的,它看起来有点复杂,但我会尝试。。。谢谢。我不会不同意的-