2010-08-15 36 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