0

inputA2つのテキストフィールドと。を持つUIViewControllerがありますinputBinputA通常のテキストフィールドのように機能し、それをクリックするとキーボードが表示され、入力できます。しかし、inputB別のビューをトリガーします(ボタンと考えてください)。この2番目のビューにMyViewは、キーボードで表示されるようにアニメーション化されたカスタムポップアップビューがあります。MyViewのポップアップは最初はアルファが0で、キーボードが表示されたときの通知を設定して、ポップアップのビューアルファを1に設定しました。

これはうまく機能しますが、ユーザーが最初にinputAをタップし、次にinputBをタップしたためにキーボードが現在表示されているときに起動しますMyViewが、キーボードがすでに表示されているため、ポップアップを変更するための通知は送信されません。アルファから1。

だから質問:この問題を回避するためのクリーンな方法は何ですか?ビューをキーボードと一緒に表示したいのですが、すでに表示されている場合は、送信するだけです。

キーボードがすでに表示されているかどうかをテストする方法はありますか?これらの2つのビューでキーボードが表示/非表示になるたびに、ブール値を設定せずにこれを実行したいと思います。

4

1 に答える 1

0

以下を試してください

if ([inputA isFirstResponder] || [inputB isFirstResponder]){

//キーボードが表示されます

}そうしないと{

//キーボードが表示されない

}

于 2010-11-11T08:08:01.623 に答える