从uitextfield的开头删除WhiteSpace

Abh*_*bha 4 iphone uitextfield ios5

我想从单词的开头删除空格.即我的第一个角色不应该是空格,并且在两个单词之间只有一个空格.我正在尝试很多东西但是不能从开始移除空间.

我的代码是:

在.h

int whitespaceCount;
Run Code Online (Sandbox Code Playgroud)

在.m

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSCharacterSet *whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
    if ([string rangeOfCharacterFromSet:whitespace].location != NSNotFound)
    {
        whitespaceCount++;
        if (whitespaceCount > 1)
        {
            return NO;
        }
    }
    else
    {
        whitespaceCount = 0;
        return YES;
    }
}
Run Code Online (Sandbox Code Playgroud)

从上面的代码中,两个单词之间的一个空格是完美的.请建议我如何删除起始空间.提前致谢.

Nit*_*hel 17

你可以用方法: -

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

    if (range.location == 0 && [string isEqualToString:@" "]) {
        return NO;
    }
    return YES;
} 
Run Code Online (Sandbox Code Playgroud)

使用此功能,您无法在启动时输入whitescpace.

你也可以这样做: -

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

    if range.location == 0 && (string == " ") {
        return false
    }
    return true
}
Run Code Online (Sandbox Code Playgroud)

如果要从字符串中删除它,则需要处理以下内容

 NSCharacterSet *whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
Run Code Online (Sandbox Code Playgroud)


小智 7

当您要使用它时,修剪文本字段内的文本

myTextfiled.text = [myTextfiled.text stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];
Run Code Online (Sandbox Code Playgroud)

这将从开始和结束时修剪空白