开发者

UITextField show " € " symbol

开发者 https://www.devze.com 2023-01-28 00:00 出处:网络
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 u

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.

0

精彩评论

暂无评论...
验证码 换一张
取 消