我有一个绑定到文本字段的NSSlider来显示滑块给出的值。
一切正常,但我希望NSSlider将“ nil”作为minValue发送给对象。
例如,我可以在保存(到属性列表)时将其转换为nil:
if ([myOb intValue] > 0)
[myDict setObject:... forKey:...]
但是我想在应用程序运行时应用相同的行为,因为仅当“ myObj”的值为nil时,才会启用其他一些字段(具有绑定功能)。问题是NSSlider总是返回“ 0”,而minValue = nil不被NSSlider接受。
提前致谢,
罗南
最佳答案
它不会接受nil
作为minValue
。如果查看NSSlider
文档,原因是因为minValue
和maxValue
都定义为double
,它们不是对象类型。
如果要自定义在文本字段中显示的值,则可能需要创建NSValueTransformer
子类,以将文本字段的double
值转换为NSString
值。阅读Value Transformer Programming Guide以获得有关如何执行此操作的详细信息。我过去已经这样做过,因此我可以使用一个标签来显示类似于“系统偏好设置”中的屏幕保护程序滑块的时间值。效果很好。