2012-01-14 3 views
0

私はフォームを開発しています。ユーザーのクリックには、送信ボタンをときに、私はすべてのUITextFieldが満たされているかどうかを確認:ユーザが対話するときにuitextfieldに特定の文字列がある場合、uitextfieldのテキストを編集する方法

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

さて、背景赤と文字列「CAMPO OBBLIGATORIO」とのUITextFieldの一つ上のユーザーのクリックが、私はテキストをクリアしたい場合や設定します背中の色を白にする。 私はuitextfielddelegateを使用して、これをチェックtextFieldShouldBeginEditingを実装してみてください。

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

何も起こりません。..

ので、私はibactionを追加し、XIB内のすべてのUITextFieldに追加することが、何も起こりません:(私は何を行うことができますしてみてください?

+0

このコードはまったく実行されますか? –

答えて

1

私はちょうどあなたのロジックを使用してテストを嘲笑し、それだけで正常に動作する必要があります。私の推測では、あなたがUITextFieldデリゲートを割り当てていないということである。Interface BuilderであなたのUITextFieldをクリックすると、オブジェクトにあなたをドラッグ+ Ctrlキーする必要があります弱代理人として行動する。

UITextFieldを消去する必要があるかどうかを確認する方法を変更することを検討します。後でアプリケーションをi18nizeすると、ユーザーインターフェイスの文字列(@"CAMPO OBBLIGATORIO")をチェックすることはおそらく中断されます。

+0

それは動作します!!!!私はテキストフィールドに代理人を設定しませんでした;) – JackTurky

関連する問題