{iOS 6.0} UITextField - 限制用户进入WhiteSpace

时间:2013-08-19 08:52:09

标签: ios6 uitextfield whitespace space

对于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;
}

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

试试这个

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

    return YES ;
}