ポップオーバーが開いているときは、クリックすると閉じます。これを止めることは可能ですか?基本的に私は次の問題を抱えています。
ポップオーバーが閉じたら、関数を処理する必要があります。ポップオーバーから却下機能を持つボタンを設定すると、その機能を却下メソッドに入れることができますが、ユーザーが画面をクリックしても検出されません。
クリックすると、ポップオーバーが閉じるのを止めることができます。または、これを検出して、必要な関数を呼び出すことができますか。
ありがとう
ジェームズ
ポップオーバーが開いているときは、クリックすると閉じます。これを止めることは可能ですか?基本的に私は次の問題を抱えています。
ポップオーバーが閉じたら、関数を処理する必要があります。ポップオーバーから却下機能を持つボタンを設定すると、その機能を却下メソッドに入れることができますが、ユーザーが画面をクリックしても検出されません。
クリックすると、ポップオーバーが閉じるのを止めることができます。または、これを検出して、必要な関数を呼び出すことができますか。
ありがとう
ジェームズ
ポップオーバーの外側をタップするとポップオーバーが消えるというデフォルトの動作について話していると仮定すると、これを防ぐ解決策は、ポップオーバーをモーダルにすることです。
これを行うには、ポップオーバーのコンテンツ ビュー コントローラーでmodalInPopover
プロパティをに設定します。YES
ところで - ユーザーがポップオーバーの外側をタップしてポップオーバーを閉じたことを検出する場合は、UIPopoverControllerDelegate
メソッドを実装する必要がありますpopoverControllerDidDismissPopover:
。
これら 2 つの方法を使用できますが、2 番目の方法がシナリオに適しています。
/* Called on the delegate when the popover controller will dismiss the popover.
Return NO to prevent the dismissal of the view.
*/
- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController;
/* Called on the delegate when the user has taken action to dismiss the popover.
This is not called when -dismissPopoverAnimated: is called directly.
*/
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController;
UIPopoverdelegate を実装し、Delegate を self に設定することを忘れないでください。