Ответ 1
NSString * proposedNewString = [[textField text] stringByReplacingCharactersInRange:range withString:replacementString];
Я просто задал вопрос о том, как отслеживать изменения в UITextField
и получил этот ответ:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)replacementStr {
// Enable "Next" if you like what entered in the replacementStr
}
Это работает, но строка замены - это не целая строка, а только то, что она добавляет. Как я могу получить целую строку? Моя цель состоит в том, чтобы увидеть, что строка в текстовом поле пуста или равна определенному числу (в разных сценариях).
Обратите внимание, что выход в текстовое поле не работает в этом случае, потому что этот метод вызывается до изменения текста в поле.
NSString * proposedNewString = [[textField text] stringByReplacingCharactersInRange:range withString:replacementString];
Быстрая версия
В Swift Нам нужно textField's
текст textField's
в NSString
. Может быть полезно следующее:
let newString = (textField.text! as NSString).replacingCharacters(in: range, with: string)
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString * searchStr = [textField.text stringByReplacingCharactersInRange:range withString:string];
// [textField2 setText:[textField1.text stringByReplacingCharactersInRange:range withString:string]];
NSLog(@"%@",searchStr);
return YES;
}