На мой взгляд, это должно быть так же, как это:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *textToChange = [[textField text] substringWithRange:range];
NSRange rangeOld = [textToChange rangeOfString:@"@"];
NSRange rangeNew = [string rangeOfString:@"@"];
if (rangeOld.location != NSNotFound && rangeNew.location == NSNotFound) {
[self userDidRemoveAtSign];
}
return YES;
}
Объяснение: Да, userDidRemoveAtSign
- это ваш пользовательский метод, когда пользователь удаляет знак «@». Этот код находится в UITextField делегат. Каждый раз, когда текст изменения пользователя в UITextField, удалить, заменить или appent символы, TextField отправить сообщение
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
делегировать. В этом методе я проверяю, если знак @ помечен в замененном тексте, и если он содержится в замене.
Привет, вы можете просто объяснить, что делает вышеуказанный код? также какой метод «userDidRemoveAtSign»? Не является обычным методом? –
блестящее решение! –