使用nil minValue将NSSlider绑定到NSTextField?

ron*_*nan 1 cocoa objective-c slider interface-builder cocoa-bindings

我有一个绑定到文本字段的NSSlider来显示滑块给出的值.一切正常,但我希望NSSlider将"nil"作为minValue发送给对象.

例如,我可以在保存(到属性列表)时将其转换为nil:

if ([myOb intValue] > 0)
    [myDict setObject:... forKey:...]
Run Code Online (Sandbox Code Playgroud)

但是我想在应用程序运行时应用相同的行为,只有当"myObj"的值为nil时才会启用其他字段(带绑定).问题是NSSlider总是返回"0",并且NSSlider不接受minValue = nil.

罗纳,提前谢谢.

Ale*_*lex 6

它不会接受nilminValue.如果你查看NSSlider文档,原因是因为minValue并且maxValue都定义为doubles,它们不是对象类型.

如果要自定义文本字段中显示的值,则可能需要创建NSValueTransformer子类以将double值转换NSString为文本字段的值.有关如何执行此操作的详细信息,请阅读" 值变换器编程指南".我过去已经这样做了,所以我可以有一个标签,显示类似于系统偏好设置中的屏幕保护程序滑块的时间值.这非常有效.