1

我创建了一个带有普通 IBOulet 的 nib 文件,用于NSTextField. 在 IB (4.4) 中,NSNumberFormatter为此添加 aNSTextField并为其赋予一些属性,例如十进制样式、最大值和最小值等。

现在,我想在代码中修改NSNumberFormatter已嵌入文本字段中的其他一些属性,如 SetGroupingSeparator、SetMaximunFractionDigits 等。

假设我NSTextField的名字是 pf,通常我可以访问单元格中的值(字符串):

[pf SetFloatValue]

或者

myFloat = [pf floatValue].

那工作没有任何问题。但是,我无法在文档或任何地方找到如何修改NSNumberFormatter代码中的属性的示例。我知道如何NSNumberFormatter在代码中创建一个,但不知道如何将它分配给NSTextField(我不知道它是否会覆盖在 IB 中创建的那个)。谁能帮我举一个清楚的例子如何做到这一点?

4

2 回答 2

1

在代码中创建 NSNumberFormatter 并将其设置为 NSTextField 可以通过以下方式完成:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[[textField cell] setFormatter:numberFormatter];

我在Apple 的数据格式指南中找到的详细信息

修改格式化程序应该非常相似,通过以下方式访问格式化程序[NSCell formatter]

NSNumberFormatter * numberFormatter = [[textField cell] formatter];
于 2012-07-22T15:32:47.463 回答
0

您可以像 IB 中的任何其他对象一样执行此操作。在 .h 文件中为格式化程序创建一个 IBOutlet 并将其连接到 IB 中的格式化程序,然后您可以通过插座访问其属性。

于 2012-07-22T15:18:49.560 回答