Using the below code, I am able to add hyphen automatically, but not able to do editing in the textfield properly.
For example when I click to insert any number between the already entered numbers in the textfield, this will insert the number at the end of the textfield and further not delete that number properly. Can anyone help me out?
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
  {    
     if(textField == txtUserName)
     {
         if (range.location == 12)
         {
             return NO;
         }
         if (range.length == 0 && ![[NSCharacterSet decimalDigitCharacterSet]   characterIsMember:[string characterAtIndex:0]])
         {
             return NO;
         }       
        if (range.length == 0 && (range.location == 3 || range.location == 7))
         {
             txtUserName.text = [NSString stringWithFormat:@"%@-  %@",txtUserName.text,string];
             return NO;
         }
         if (range.length == 1 &&(range.location==4 ||range.location ==7))      
         {
             range.location--;
             range.length = 2;
              txtUserName.text = [txtUserName.text  stringByReplacingCharactersInRange:range withString:@""];
             NSLog(@"Nisha..%@",txtUserName.text);
             return NO;
          }
    }   
    return YES;
}
				
                        
This code will also work when we will do copy-paste text in
UITextField.Note- use
tagfor yourUITextFieldinstead of directly comparetextFieldto your outlet