Pratik Goswami
Pratik Goswami

Reputation: 334

{iOS 6.0} UITextField - restrict user to enter WhiteSpace

For iOS 6.0 and later UITextField does not work as expected, whenever I try to restrict user to enter a WhiteSpace, it enters the characters available in row above the Space bar (e.g. 'C', 'V', 'B', 'N', 'M').

I am using following code of lines to avoid WhiteSpace however the same code works perfect in iOS 5.0

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

    BOOL flag = YES;

    NSString *resultingString = [textField.text stringByReplacingCharactersInRange: range withString: string];
    NSCharacterSet *whitespaceSet = [NSCharacterSet whitespaceCharacterSet];

    if ([resultingString rangeOfCharacterFromSet:whitespaceSet].location == NSNotFound)
        flag = YES;
    else
        flag = NO;

    return flag;
}

Any suggestion?

Upvotes: 0

Views: 357

Answers (1)

srinivas n
srinivas n

Reputation: 640

Try This

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    if ([string isEqualToString:@" "])
        return NO ;

    return YES ;
}

Upvotes: 1

Related Questions