2017-06-10 191 views
0

我想設置一個NSTokenField(NSTextField的子類)的字符串值,但我發現如果字符串以空格開頭,它會將其刪除。我想保留這個空間。我嘗試應用沒有運氣的格式化程序。即:停止NSTokenField修剪空白

tokenField.stringValue = " 1" 

這實際上將在現場讀出「1」。

此外,我想格式化整數,但也保持零之前。即:

tokenField.stringValue = "001" 

這也將在現場讀出「1」。

我試過覆蓋各種功能,沒有運氣。有任何想法嗎?

謝謝!

+0

您必須檢查文本字段的格式化程序。你在用xib/storyboard嗎? –

+0

我找到了一個部分解決方案,並且正在制定自定義解決方案。問題是我使用的是NSTextField的子類NSTokenField。應用格式化程序似乎不能正常工作.. – JoeBayLD

+0

您是否閱讀過'NSTokenField'的文檔?有一些關於空白修剪。 – Willeke

回答

0

the documentation of NSTokenField

在OS X 10.4,NSTokenField修剪空白周圍令牌,但它不能在Mac系統版本10.5.0和10.5.1修剪空白。在OS X v10.5.2中,通過鏈接到v10.4二進制文件或鏈接到v10.5二進制文件並且不執行 tokenField(_:representObjectForEditing :) 方法,可以獲得空白修剪行爲。如果您不想要空白修剪行爲,請鏈接到v10.5二進制文件並實現此方法,如果沒有表示對象,則返回編輯字符串。

好吧,這有點老的方法的名稱是不正確的,但它說:

如果你不希望空格修整行爲,實現tokenField(_:representedObjectForEditingString :),如果沒有表示的對象,則返回編輯字符串。

+0

啊!我以爲我正在實現該功能。現在我。謝謝! – JoeBayLD