Как редактировать текст поля uitextfield, если в поле uitextfield есть определенная строка, когда пользователь взаимодействует с ним - PullRequest
0 голосов
/ 14 января 2012

Я разрабатываю форму.Поэтому, когда пользователь нажимает кнопку «Отправить», я проверяю, заполнены ли все поля uitext:

-(BOOL)checkUITextField{
    BOOL flag = YES;
    if(cognome.text.length==0){
        flag=NO;
        cognome.backgroundColor=[UIColor redColor];
        cognome.text=@"CAMPO OBBLIGATORIO"; 
    }else if(indirizzo.text.length==0){
        flag=NO;
        indirizzo.backgroundColor=[UIColor redColor];
        indirizzo.text=@"CAMPO OBBLIGATORIO"; 
    }else if(citta.text.length==0){
        flag=NO;
        citta.backgroundColor=[UIColor redColor];
        citta.text=@"CAMPO OBBLIGATORIO"; 
    }
}

Теперь, если пользователь нажимает на одно из полей uitext с красным фоном и строкой «CAMPO OBBLIGATORIO», я хочу очистить тексти установите обратно цвет на белый.я пытаюсь использовать uitextfielddelegate и реализовать textFieldShouldBeginEditing, проверяя это:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    if([textField.text isEqualToString:@"CAMPO OBBLIGATORIO"]){
        textField.text=@"";
        textField.backgroundColor=[UIColor whiteColor];
    }
}

Ничего не происходит ..

, поэтому я пытаюсь добавить ibaction и в xib добавить его в каждое поле uitextfield, но ничего не происходит:( Что я могу сделать?

1 Ответ

1 голос
/ 14 января 2012

Я только что смоделировал тест, используя вашу логику, и он должен работать просто отлично. Я предполагаю, что вы не назначили делегата UITextField. В Interface Builder вам нужно нажать Ctrl + клик на UITextField и перетащить на объект, который вы хотите использовать в качестве делегата.

Я, вероятно, рассмотрю вопрос о том, как изменить проверку, если вам нужно очистить UITextField. Проверка строки пользовательского интерфейса (@"CAMPO OBBLIGATORIO"), скорее всего, прервется, если вы позже выполните i18nize своего приложения.

...