UITextField如何检查是否按下了删除键

Qam*_*man 7 iphone uitextfield ios

我正在从我的本地数据库实现一个搜索栏,当用户输入信息时从db中搜索.问题是我将最近的字符和之前的字符连接起来然后发送给它进行搜索.如何在返回时删除字符(最后一个)按键是我正在使用的

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

谢谢你的回复

Vla*_*mir 19

您可以在此方法之后获取应该位于文本字段中的字符串:

NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
Run Code Online (Sandbox Code Playgroud)

并且neString您可能可以使用"按原样"搜索数据库.

如果您只想在用户删除textField中的某些字符时获取该事件 - 那么您可以通过以下方式进行检查:

if ([string length] == 0 && range.length > 0)
  //Some characters deleted
Run Code Online (Sandbox Code Playgroud)


aya*_*aya 5

对于快速用户:

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

    if string.characters.count == 0 && range.length > 0 {
        // Back pressed
        return false
    }

    return true
}
Run Code Online (Sandbox Code Playgroud)