0

对于 iOS 6.0 及更高版本的 UITextField 无法按预期工作,每当我尝试限制用户输入空格时,它都会在空格键上方的行中输入可用的字符(例如'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;
}

有什么建议吗?

4

1 回答 1

1

尝试这个

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

    return YES ;
}
于 2014-08-14T05:10:26.693 回答