Search code examples
iosobjective-cios8uitextfielduitextfielddelegate

UItextfield shouldChangeCharactersInRange method backSpace not working


I implement this code but backspace not working until i press delete button in UITextfield I want to do with Backspace delete.

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string  {

    NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString:_demo_str];
    for (int i = 0; i < [string length]; i++) {
         unichar c = [string characterAtIndex:i];
         if ([myCharSet characterIsMember:c]) {
            return YES;
      }
    }
    return NO;
  }

Solution

  • Try this code. this working for me

    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string  {
    
      NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString:_demo_str];
      for (int i = 0; i < [string length]; i++) {
         unichar c = [string characterAtIndex:i];
         if ([myCharSet characterIsMember:c]) {
            return YES;
         }
         else
         {
             return NO;
         }
      }
       return YES;
    }