2017-06-10 38 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