全て、
クラスがUIControlに設定されているDetailViewControllerがあり、これらのバックグラウンドタッチイベントを完全に処理する「backgroundTouched」IBActionメソッドがあります。詳細ビューコントローラーをモーダルで表示するように変更すると、FormSheetで背景のタッチを検出する機能が失われるため、キーボードが背景のタッチで閉じられなくなります。原因は、以前はDetailViewが画面全体を占めていたため、すべてのデリゲートメソッドが起動されたが、モーダルで表示されるようになったため、これらのデリゲートメソッドとIBActionメソッドが通信できなくなったことが原因だと思います。
問題の分析は正しいですか?また、イベントを報告するためのモーダルプレゼンテーションを取得するにはどうすればよいですか?
ありがとう
//Give it a nav controller
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:detailViewController];
/****************************************************
*
* Use a modal form presentation for form
*
*
****************************************************/
//Use a form sheet style for DetailView
[navController setModalPresentationStyle:UIModalPresentationFormSheet];
//flip-horizontal transition
[navController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self presentViewController:navController animated:YES completion:nil];
}