2011-08-14 11 views
0

ユーザーが特定のuitextfieldsをクリックしたときに別のキーボードタイプを表示したいと思いますが、それでも実行できますが、「完了」ボタンを押しながらキーボードを隠すことはできません。キーボードタイプを選択すると「完了」でメイン画面に戻る

キーボードタイプを定義する特定の場所と方法はありますか? viewDidload?または、例えば、ちょうどeditingDidBegin

答えて

1

alloc/initUITextFieldの直後にキーボードタイプを設定する必要があります。ビューが設定されている場合は、Interface Builderでこれを行うこともできます。

- (BOOL)textFieldShouldReturn:メソッドを実装し、それに応じて代理人を設定していることを確認してください。

また、数値キーボードを使用するフィールドには[完了]ボタンが表示されないため、直接キーボードを閉じることはできません。私は自分の背景をとしてUIControlと設定し、バックグラウンドタップ時にキーボードを閉じる方法を実装することが非常に便利であることを発見しました。

EDIT: Interface Builderで、ビューのクラスをUIViewからUIControlに変更します。 Interface BuilderでUIControl(バックグラウンドでどこかへドラッグ)にこのIBActionを接続し、その後

- (IBAction)backgroundTap 
{ 
    [self.textField resignFirstResponder]; 
    [self.textField resignFirstResponder]; 
    [self.textField resignFirstResponder]; 
    [self.textField resignFirstResponder]; 
} 

:次に、背景上の任意のタップをピックアップする方法、例えば鉱山を実装します。今、バックグラウンド上の任意のタップは、このメソッドを呼び出して、FirstResponderとしてすべてのtextFieldsを辞任する必要があります。

+0

あなたはどのようにこのことを説明できますか? "私のバックグラウンドビューをUIControlとして設定し、キーボードをバックグラウンドタップで解除する方法を実装することは非常に便利でした。 –

関連する問題