2010-08-15 53 views
0

我想在我的mac应用程序中使用水平滑块,默认情况下,滑动值是浮点数,因为我需要再次显示值作为标签中的文本(使用用户默认值进行绑定),那么有没有办法让滑块输出整数而不是浮点数?可变滑块整数值

回答

2

你不能让滑块不能在浮点上考虑,但你可以让它只给你整数。将其刻度数设置为((最大值 - 最小值)+ 1),并将其设置为仅在刻度线上停止。

+0

谢谢,这似乎是更容易实现的解决方案,所以我会用它 – 2010-08-15 23:59:10

2

另一种方式来执行仅整数值。将滑块定制控制器对象绑定,和在该对象中,实现用于所述控制器所拥有的validate<Key>:error:方法(“<密钥>”代属性名) 。在该验证方法中,从您收到的NSNumber对象中取出数字,按照您认为合适的数字四舍五入,将其备份,并将新对象替换为验证值。 (有关详细信息,请参见the docs)。

这会使保存用户默认值的操作复杂化;你必须在你的自定义控制器的setter中为属性做这件事。

1

另一种方法(因为你看起来似乎认为值的显示)应该是在标签中使用一个NSNumberFormatter(一个NSTextField)。只需将数字格式化程序拖到您的标签上并将其配置为显示整数。它甚至会为你回合。

+0

谢谢,这是很酷的提示,我是新可可,不知道你可以拖动NSNumberFormatter成为一个标签,很高兴知道这一点:)因为我需要稍后阅读用户默认值,所以更改源代码会更容易,所以我不需要更改其他位置。 – 2010-08-16 00:01:29