iPhoneシミュレーターでキーボードを消す方法
質問
iPhone アプリにテキスト入力ボックスが 1 つあり、シミュレーターでそれをタッチすると、キーボードがポップアップします。しかし、それを取り除く方法はありません。他の Web ページでは解決策が提供されていますが、それが機能する理由は説明されていませんが、私にとっては機能しません。テキストボックスのデリゲートをuiviewにしてから、オブジェクトに対してresignfirstresponderを呼び出すと言われていますが、呼び出されることはありません。助言がありますか?実際に何が起こっているのか誰か説明できますか?設計パラダイムが何であるかを知っていれば、自分でも理解できます...
おそらく、テキストフィールドからフォーカスを外すために「go」ボタンを置くだけでよいでしょうか?
解決
これを行う 1 つの方法は、オブジェクトをテキスト フィールドへのデリゲートとして設定し、実装することです。
- (BOOL)textFieldShouldReturn:(UITextField *)textField
あなたが電話する場所 [textField resignFirstResponder]
これにより、戻る/進む/完了ボタン (右下のキーボード キーをどのように設定しても) を押したときにキーボードが消えます。
を参照してください。 UITextFieldデリゲート 詳細については参照してください。
他のヒント
キーボードを閉じるには、TextField Delegate を使用できます。
これを使用するには、次の手順に従ってください...
1.viewController で。h 次のようにデリゲート宣言を追加します。
@interface ViewController : UIViewController <UITextFieldDelegate>
{
}
2.viewController 内。メートル このメソッドを呼び出します: - (BOOL)textFieldShouldReturn:(UITextField *)textField
3.次に、次のようなコードを書きます。 - (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
4.最後のステップは、textField のデリゲートを設定することです。 - (void)viewDidLoad {
[super viewDidLoad];
self.textField.delegate = self;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
デリゲート内の は、戻るボタンが押されたときに呼び出されます。
電話したいですか [textField resignFirstResponder]
そして戻ってきます YES
. 。それでうまくいくはずです。また、デリゲートが設定されていることを確認してください。疑わしい場合は、ブレークポイントを追加するか、 NSLog
そして検証してください。