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