また、私のテキストフィールドを送信した後は、becomefirstresponderは役に立ちません。
その部分は意味がありません。既定では、endEditing:
またはresignFirstResponder
を使用しない限り、テキストフィールドはキーボードを閉じません。キーボードが離れる場合はにしてにする必要があります。そうしないとそうではありません。
EDIT:実際には、テキストフィールドからdidEndOnExit
コントロールイベントを繋ぎました。ユーザーが[完了]ボタンを押したときにキーボードが消えてしまいます。だからあなたは効果的に自分の顔にぶつかり、誰かがあなたの顔を殴っていると不平を言う。
したがって、解決策は明らかにではありません。フックアップdidEndOnExit
コントロールイベント(何でも)です。代わりに、テキストフィールドに代理人を与え、代理人のメッセージを使用してユーザーが何をしているのかを知るだけです。これらのキーボードのどれもがキーボードに関して自動的に動作しないので、キーボードは自動的に解除されません。たとえば、ユーザーが入力中であることを確認するには、textField:shouldChangeCharactersInRange:replacementString:
を使用します。ユーザーが[完了]ボタンを押したことを確認するには、textFieldShouldReturn:
を使用します。等々。
trueの場合、didEndOnExitはユーザー入力テキストをチェックしているIBActionにリンクされています。しかし、私はそれをdidEndOnExitにリンクしていない場合、ユーザーが入力を完了し、終了ボタンを押したときをどのように知ることができますか? 基本的にこれを達成したい: 1.ウィンドウがロードされるとキーボードが表示される 2.ユーザーがテキストフィールドを入力し、DONEボタンまたはフィールドの隣に置かれた別のボタンを押す。3.私のコードチェックがチェックされる文字列が正しく、何らかの動作をした場合 4.フォーカスがまだテキストフィールドにあり、キーボードがまだ表示されている場合 – user2292949
うん、それはしないでください。あなたは自分自身があなたが不平を言っていることをしています。だからそれをやめ、問題は消え去るでしょう。私の編集された答えを見てください。 – matt
ありがとう、それは私が探している答えのようです。 私がやろうとしたことを完了したら、私は自分のコードと自分のエントリーを更新します。 顔の中で自分自身を打つことについて。私はたぶんIOSの開発とOOPを始めているので、おそらくそれをやっているだろう。 – user2292949