删除在UItextfield中键入的最后一个字符

nit*_*hin 5 iphone objective-c uitextfield ipad ios

如果文本字段长度超过100,我需要删除最后一个字符,我使用以下代码:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if(textfield.text.length>=100)
    {
        NSString *text;
        textField.text=text;
        NSString *newString = [text substringToIndex:[text length]-1];
        textField.text=newString;
    }
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

但它只是删除了整个文本.

sch*_*sch 5

您可以删除整行文本:

textField.text=text; // text is nil here
Run Code Online (Sandbox Code Playgroud)

您想要做的更有可能是:

NSString *text = textField.text;
Run Code Online (Sandbox Code Playgroud)