对于iOS 6.0及更高版本,UITextField无法按预期工作,每当我尝试限制用户输入WhiteSpace时,它会输入空格键上方的行中可用的字符(例如'C','V', 'B','N','M')。
我使用以下代码行来避免使用WhiteSpace但相同的代码在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;
}
有什么建议吗?
答案 0 :(得分:1)
试试这个
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if ([string isEqualToString:@" "])
return NO ;
return YES ;
}