我创建了一个带有NSTextField
的普通IBOulet的nib文件。
在IB(4.4)中,为此NSNumberFormatter
添加NSTextField
并为其提供一些属性,如十进制样式,最大值和最小值等。
现在,我想在代码中修改已经嵌入文本字段的NSNumberFormatter
的其他一些属性,如SetGroupingSeparator,SetMaximunFractionDigits等。
假设我的NSTextField
被命名为pf,
通常我可以访问单元格中的值(字符串):
[pf SetFloatValue]
或
myFloat = [pf floatValue].
这没有任何问题。
但是,我无法在文档中或任何地方找到如何修改代码中的NSNumberFormatter
属性的示例。
我知道如何在代码中创建NSNumberFormatter
,但不知道如何将其分配给NSTextField
(我不知道是否会覆盖IB中的创建者)。
谁能帮我一个明确的例子如何做到这一点?。
答案 0 :(得分:1)
在代码中创建NSNumberFormatter并将其设置为NSTextField可以通过以下方式完成:
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[[textField cell] setFormatter:numberFormatter];
我在Apple's Data Formatting Guide
中找到的详细信息修改格式化程序非常相似,通过[NSCell formatter]
访问格式化程序:
NSNumberFormatter * numberFormatter = [[textField cell] formatter];
答案 1 :(得分:0)
你就像IB中的任何其他对象一样。在.h文件中为格式化程序创建一个IBOutlet并将其连接到IB中的格式化程序,然后您可以通过插座访问其属性。