我正在编写一个 Mac OS X 桌面 Cocoa 应用程序。我有一个带有一些值的 NSTableView,我正在尝试使用自定义 NSNumberFormatter 来控制这些值。
我想要的行为:
当用户键入一个值时,如果他们键入 -,我希望它的行为类似于计算器上的 +/- 按钮。因此,如果用户键入“500-”,那么我想自动将该字符串替换为“-500”。
现在,我有一个 NSNumberFormatter 的工作子类,它可以处理这种情况并返回我想要的替换字符串。但是当我输入我的 NSTableView 时,我的日志显示“500-”正在被“-500”替换,但 NSTableView 只显示“500”并且不显示 - 之前或之后。
我需要在我的 xib 或我的 NSNumberFormatter 子类中做些什么,以便 NSTableView 实际显示负数?
- (BOOL) isPartialStringValid:(NSString **)partialStringPtr
proposedSelectedRange:(NSRangePointer)proposedSelRangePtr
originalString:(NSString *)origString
originalSelectedRange:(NSRange)origSelRange
errorDescription:(NSString **)error
正在将此记录到控制台:
proposed string: 500-
replacement string: -500
但是 NSTableView 中的单元格之后仍然只显示“500”。