У меня небольшая проблема. В моем TableView есть два текстовых поля, которые устанавливают свойство объекта. Для этого я хочу заставить пользователя написать что-то в textField до того, как строка будет фактически установлена в объект. Так что в основном простая ([textField.text length] > 0)
вещь. Но я хочу, чтобы пользователь должен был писать строки в обоих текстовых полях, чтобы, наконец, включить кнопку «Готово». Я решил это раньше, но только с одним текстовым полем со следующим методом UITextFieldDelegate
.
- (BOOL)textField:(UITextField *)theTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *newText = [theTextField.text stringByReplacingCharactersInRange:range withString:string];
self.doneBarButton.enabled = ([newText length] > 0);
return YES;
}
Мое решение новой проблемы, так что теперь с двумя текстовыми полями это одно:
- (BOOL)textField:(UITextField *)theTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *newText = [theTextField.text stringByReplacingCharactersInRange:range withString:string];
if ([theTextField.placeholder isEqualToString:@"textField1"]) {
if ([theTextField.text length] > 0) {
enabledVokabel = YES;
} else {
enabledVokabel = NO;
}
}
if ([theTextField.placeholder isEqualToString:@"textField2"]) {
if ([theTextField.text length] > 0) {
enabledUebersetung = YES;
} else {
enabledUebersetung = NO;
}
}
self.doneBarButton.enabled = (enabledVokabel && enabledUebersetung);
return YES;
}
Итак, я хочу, чтобы doneBarButton был включен, когда оба текстовых поля (textField1 и textField2) заполнены текстом. Но я хочу, чтобы, если пользователь удалил текст, который он / она только что написал в doneBarButton, он был отключен, как только текстовые поля пусты. Это не работает таким образом. У тебя есть решение? Или, может быть, лучший способ решить это?