Reputation: 334
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
Reputation: 640
Try This
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if ([string isEqualToString:@" "])
return NO ;
return YES ;
}
Upvotes: 1