複数の動的に作成された UITextfields と UISegmented コントロールを含むビューがあります (ただし、この質問の目的のために、UIButtons、UISwitches、UISliders、または UIControl から継承するものもある可能性があります)。コントロールのサブクラスに関係なく、ユーザーがいずれかのコントロールとの対話を終了するたびに、アクションを実行したいと考えています。他の質問を見ると、作成後に各コントロールにオブザーバーを追加するために使用したいと思いますaddTarget:action:forControlEvents:
が、どのイベントを探しているのかわかりません。Apple Docs here にリストされている関連性のあるものをすべて試しましたが、毎回トリガーされるものはありません。私は.LostFocus
VBAのようなものを探していますが、それが何であるかを見つけることができないようです.becomeFirstResponder
コントロールをアクティブにするメソッドを探していますが、「lostFirstResponder」イベントのようなものは見つかりません。
isKindOfClass
それがどのような種類のコントロールであるかを判断し、それに応じてイベントをセットアップするために使用できると思いますが、それは少しずさんなようで、もっと直接的な方法があるべきだと思います。おそらく UITapGestureRecognizer をセットアップして、そのように何かを構築することもできますが、それでも回避策のように感じられ、本来の方法ではありません。