this is how i resolved that problem. When max limit is reached it wont try to add more... you will only be able to remove chars
#define MAX_SIZE ((int) 5)
...
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if ([textField.text length] >= MAX_SIZE && ![string isEqualToString:@""]) {
return NO;
}
return YES;
}