2011-06-13 58 views
0

我只是拿起Cocoa和Interface Builder的基礎知識 - 使用IB版本3.2.6。我正在學習如何將MacRuby用於本機OS X應用程序。MacRuby:限制NSTextField爲整數

我有一個NSTextField,我只想接受整數值。我使用NSNumberFormatter,但似乎沒有選擇只接受整數。

你會如何做到這一點?它可以在Interface Builder中完成嗎?

+0

[將NSTextField輸入限制爲僅限數字的可能重複項? NSNumberformatter](http://stackoverflow.com/questions/4652689/restrict-nstextfield-input-to-numeric-only-nsnumberformatter) – 2011-06-13 22:48:24

+0

@Andrew添加了一個天真的解決方案,雖然我不知道你是否仍然需要幫助 – microspino 2011-07-13 16:45:47

回答

1

幼稚但有效的方法是將子類NSTextField和(這是幼稚一部分)ovverride textDidChange的digited值到一個數字:

換言之,創建一個新的紅寶石文件在你的文件夾中的類此代碼添加到它和改變內部IB領域類(您XIB>申請要更改>檢查>類下拉)

class OnlyNumbersTextField < NSTextField 
    def textDidChange(notification) 

     self.setIntValue(self.intValue) 

    end 
end 

希望這有助於。

+0

有趣!我有機會試一下,謝謝! – Andrew 2011-07-13 16:59:08

+0

@Andrew只是想知道你是否嘗試過這個解決方案。 – microspino 2011-07-19 09:06:08

+0

這很好,謝謝! – Andrew 2011-07-20 22:04:48