Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 使用nil minValue将NSSlider绑定到NSTextField?_Objective C_Cocoa_Interface Builder_Slider_Cocoa Bindings - Fatal编程技术网

Objective c 使用nil minValue将NSSlider绑定到NSTextField?

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不接受

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

例如,我可以在保存到propertylist时将其转换为nil:

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。

好的,它的创建看起来有点复杂,但我会尝试。。。谢谢。我不会不同意的-好的,它看起来有点复杂,但我会尝试。。。谢谢。我不会不同意的-