我有一个 UITextField 委托方法的工作实现(如下)。我的界面中弹出了一个 UIAlertView,它使用 UIAlertViewStyleLoginAndPassWordInput 进行样式设置,第二个文本字段的安全文本输入属性设置为 NO(实际上给了我一个带有两个文本字段的 UIAlertView)。UIKeyboardTypeDecimalPad 成为每个文本字段的第一响应者。
我想调整这些文本字段以使用下面发布的委托方法,将这些文本字段中的所有输入格式化为货币。我知道我可以手动调用委托方法并将文本字段作为第一个参数传递,但我不确定作为 Range 和 Replacement String 参数传递什么。
这是 UITextField 委托方法:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *text = [textField.text stringByReplacingCharactersInRange:range withString:string];
text = [text stringByReplacingOccurrencesOfString:@"." withString:@""];
text = [text stringByReplacingOccurrencesOfString:@"$" withString:@""];
text = [text stringByReplacingOccurrencesOfString:@"\"" withString:@""];
double number = [text intValue] * 0.01;
textField.text = [NSString stringWithFormat:@"%@%.2lf", @"$",number];
return NO;
}
谢谢
最好的...SL