2013-02-25 4 views
6

私は2つのUITextfieldを持っています。ユーザは最初に名前を入力し、2番目にメールを送ります。名前テキストフィールドにエントリがあるかどうかに応じて、UIKeyboardsの戻りキーを変更する方法を知りたいと思います。動的にUIKeyboardsを返す

たとえば、nametextfieldが空の場合、UIkeyboardの戻りキーを次のようにしたいとします。 nametextfieldに項目がある場合は、ユーザーがメールテキストフィールドを選択したときに戻りキーを送信します。

これは可能ですか?もしそうなら、私はそれを達成するためにどのように行くだろうか?どんな助けもありがとう。

答えて

6

を利用可能なすべてのオプションをチェックアウトすることができ

あなたは、各UITextFieldためUIReturnKeyType列挙型で見ることができますプレフィックス値に合わせてカスタマイズリターンキーを持つことができます。

textFieldName.returnKeyType = UIReturnKeyNext; 
textFieldEmail.returnKeyType = UIReturnKeyDefault; 

これがあなたが探しているものかどうかはわかりません。

+0

これはかなりですが、私はこのコードをどこに置くべきかわかりません。 – HurkNburkS

+0

たとえば、uitextフィールドを入力するとどのメソッドが呼び出されますか?または私はそれを置くことができる別の場所はありますか? – HurkNburkS

+0

通常は、View ControllerのviewDidLoadに配置しますが、特定のケースに応じて異なります(その時点でテキストフィールドが完全に作成されているか、後のステージで行うなど)。 – Bastek

4

あなたはUITextFieldDelegateプロトコル方法textFieldShouldBeginEditingでキーボードの特性に設定する機会があります。テキストフィールドがファーストレスポンダになる前に呼び出されを(それがファーストレスポンダになる可能性がある場合、確か決定します)。問題のテキストフィールドのデリゲートがまだない場合は、そのテキストフィールドを割り当てて、少なくともそのメソッドを実装する必要があります。テキストフィールドを扱う同じオブジェクトが、デリゲートメソッドを保持する可能性があります。次の実装では、リターンキーを「検索」に設定しています。

- (BOOL) textFieldShouldBeginEditing:(UITextField *)textField { 
    NSLog(@"textFieldShouldBeginEditing"); 
    textField.returnKeyType = UIReturnKeySearch; 
    return YES; 
} 

使用する値を決定するには、テキストフィールドの内容を調べる必要があります。

1

textfield.returnKeyType = UIReturnKeySearch;

関連する問題