我正在尝试使用 NSTextField 的格式化程序出口将 NSNumberFormatter 连接到 NSTextfield(如下图所示)。我的格式化程序子类如下:
#import <Foundation/Foundation.h>
@interface FieldFormatter : NSNumberFormatter
@end
#import "FieldFormatter.h"
@implementation FieldFormatter
- (NSNumberFormatterBehavior)formatterBehavior {
return NSNumberFormatterBehavior10_4;
}
- (NSNumberFormatterStyle)numberStyle {
return NSNumberFormatterDecimalStyle;
}
@end
运行程序时我没有收到任何错误,但格式化程序无法正常工作。当我在文本字段中输入小数时,它会向上取整,即 13.8 变为 14。我根本无法在文本字段中输入小数。
NSTextField with NSNumberFormatter
在使用Interface Builder时,我可以让它正常工作。但我更愿意通过代码来做到这一点,这样我就可以更好地控制格式。
所以我想要做的是 - 子类 NSNumberFormatter,将格式化程序连接到 XIB 中的文本字段,然后在用户将数字输入到文本字段后,该数字被格式化。
任何的意见都将会有帮助。