我试图将stringValue设置为一个NSTokenField(NSTextField的一个子类),但是我发现如果字符串以空格开头,它会删除它。我想保留空间。我也试着用一个格式化程序,但没有成功。即。:

tokenField.stringValue = " 1"

这实际上会在字段中读出“1”。
另外,我想格式化一个整数,但也要在它之前保留零。即。:
    tokenField.stringValue = "001"

这也将在现场读出“1”。
我试过用不走运的方法来重写各种函数。有什么想法吗?
谢谢!

最佳答案

the documentation of NSTokenField
在OSXV10.4中,NSTokenField修剪标记周围的空白,但在macOS版本10.5.0和10.5.1中不修剪空白。在OSXV10.5.2中,可以通过链接到v10.4二进制文件或链接到v10.5二进制文件而不实现
tokenField(u:representedObjectForEditing:)
方法。如果不希望出现空白修剪行为,请链接到v10.5二进制文件并实现此方法,如果没有表示的对象,则返回编辑字符串。
好吧,它有点老了,方法的名称不正确,但是它说:
如果不希望出现空白修剪行为,请实现tokenField(uu:representedObjectForEditingString:),如果没有表示的对象,则返回编辑字符串。

10-02 02:28
查看更多