私のアプリケーションでは、Facebook に投稿するためにシェアキットを使用しています。メイン画面にはテキストビューとカスタム キーボードがあります。Facebook ボタンをクリックすると、現在の投稿が Facebook で公開されるかどうか、ユーザー認証トークンがチェックされます。そうでない場合は、ユーザーがユーザー名とパスワードを取得するためのダイアログ ボックスが表示されます。そのダイアログのキャンセルボタンをクリックすると、キーボードが自動的に非表示になります。私の問題は、キーボードを非表示にしたくないことです。オブザーバーも使っていた
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow:)
name:UIKeyboardDidShowNotification
object:nil];
このオブザーバーはキーボードを表示します。オブザーバーは常にメソッド keyboardWillShow を呼び出しましたが、ダイアログの場合は呼び出されません。ダイアログをキャンセルすると、キーボードが自動的に非表示になります。また、iOS5 で iOS6 を使用していますが、同じオブザーバーが正常に動作しています。