如果我们想说例如创建一个只允许数字的自定义格式化程序(以这个问题为例) ,NSTextField
我们可以很容易地调用。setFormatter
但是,如果我们想将格式化程序应用于 aNSTextView
怎么办?似乎没有办法设置格式化程序,除非我忽略了某些东西。
关于如何解决这个问题的任何建议?
如果我们想说例如创建一个只允许数字的自定义格式化程序(以这个问题为例) ,NSTextField
我们可以很容易地调用。setFormatter
但是,如果我们想将格式化程序应用于 aNSTextView
怎么办?似乎没有办法设置格式化程序,除非我忽略了某些东西。
关于如何解决这个问题的任何建议?
AnNSFormatter
是为单行字符串的格式而设计的。这种意图匹配NSTextField
通常会显示单行(特别是如果使用格式化程序)。
格式化程序的重点是格式化现有文本以供显示和验证来自用户的文本输入。您可以使用带有 的格式化程序NSTextView
来执行这两个操作,您只需要自己做一些工作来处理文本,然后再将其添加到视图 ( stringForObjectValue:
) 或当用户输入它时 (textView:shouldChangeTextInRange:replacementString:
和isPartialStringValid:newEditingString:errorDescription:
)。