用户键入时格式化文本字段

时间:2011-03-03 04:20:25

标签: objective-c uitextfield nsnumberformatter uitextfielddelegate

我希望用户在文本字段中键入金额,我希望在键入时对值进行格式化。这意味着当用户输入第4位时,逗号出现在表示数千的适当位置。例如:3,450

现在,我正在尝试使用textfield委托方法“shouldChangeCharactersInRange”和NSNumberFormatter。不幸的是,我没有取得任何成功。有人能指出我正确的方向吗?谢谢!

1 个答案:

答案 0 :(得分:4)

一种选择是在UILabel的顶部覆盖UITextField透明背景。注册为delegate的{​​{1}}并执行:

UITextField

然后每次用户输入时,都会调用此方法,允许您获取新值,将其转换为整数并通过NSNumberFormatter传递,然后更新UILabel以显示此格式化值。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string