objective-c - 将 NSSlider 绑定(bind)到 NSTextField 并使用 nil minValue?

标签 objective-c cocoa interface-builder slider cocoa-bindings

我有一个绑定(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 文档,原因是 minValuemaxValue 都定义为 double ,它们不是对象类型。

如果您想自定义文本字段中显示的值,您可能需要创建一个 NSValueTransformer 子类以将 double 值转换为 NSString 文本字段的值。阅读Value Transformer Programming Guide有关如何执行此操作的详细信息。我过去曾这样做过,这样我就可以有一个显示时间值的标签,类似于系统偏好设置中的屏幕保护程序 slider 。这效果非常好。

关于objective-c - 将 NSSlider 绑定(bind)到 NSTextField 并使用 nil minValue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1503799/

相关文章:

ios - 从 SKScene 呈现 UIViewController

ios - "(null) "的 Objective-c 正则表达式

ios - 添加到数组后,我的模型中的属性将针对每个项目进行复制

objective-c - 设置鼠标位置

ios - 在 Storyboard中使用 Xib 时,Xib 的 IBOutlets 返回 nil

objective-c - 我怎么知道我的程序是否启用了 ARC?

swift - xQuartz 显示不适用于从 Swift Process 启动的 shell 脚本

cocoa - 使用命令 Alt NSKeyEquivalent 注册 NSService

iphone - XCode 4 界面生成器 : How to access a drawn object

xcode - 过剩和界面生成器