I have a UITextField only allow users to enter the number, which is amount of money. when user type开发者_StackOverflows 10000, the textfield will show € 10.000. And it will change dynamically when user types or backspace in the textfield. How do I implement it in iPhone?
You'd want to give the UITextField a delegate and implement something for
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
in that delegate that checked to see if the field's format was valid and altered the text if so, inserting the characters in the selected location, inserting / removing the . / currency symbol, then returning NO.
The tricky part is that the insertion point jumps to the end of the field whenever you replace the field's text - there are some undocumented APIs to retrieve / set its position, but not any official ones. Not a problem in most cases, since a user isn't very likely to move the insertion point in a field this small, but you might get a few complaints.
精彩评论