當彈出窗口打開時,如果點擊它就會關閉。是可以阻止這個嗎?基本上我有以下問題。如何檢測彈出窗口消除
當彈出窗口關閉時,我需要一個函數來處理。如果我從popover中設置了一個具有解除函數的按鈕,那麼我可以將該函數放入解除方法中,但是如果用戶單擊屏幕,則不會檢測到該函數。
因此,如果您點擊它,就可以停止彈出窗口關閉。 或 是否有可能檢測到這一點,允許我需要調用的功能。
感謝
詹姆斯
當彈出窗口打開時,如果點擊它就會關閉。是可以阻止這個嗎?基本上我有以下問題。如何檢測彈出窗口消除
當彈出窗口關閉時,我需要一個函數來處理。如果我從popover中設置了一個具有解除函數的按鈕,那麼我可以將該函數放入解除方法中,但是如果用戶單擊屏幕,則不會檢測到該函數。
因此,如果您點擊它,就可以停止彈出窗口關閉。 或 是否有可能檢測到這一點,允許我需要調用的功能。
感謝
詹姆斯
您可以使用這兩種方法,但第二個適合您的方案:
/* 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和委託設置爲self。
假設你正在談論popovers的默認行爲,當您點擊酥料餅的外面被解僱,以防止這種情況的解決方案是使酥料餅模態。
爲此,請在彈出窗口的內容視圖控制器上將modalInPopover
屬性設置爲YES
。
順便說一句 - 如果你想檢測當用戶通過點擊外部彈出來解除彈出時,你需要實現UIPopoverControllerDelegate
方法popoverControllerDidDismissPopover:
。