一千萬個為什麽

搜索

如何在使用modalInPopover顯示彈出窗口時禁用主工具欄?

我正在顯示一個包含視圖控制器的popover,其中包含modalInView屬性集。在繼續之前,我需要用戶在此處輸入回復。

雖然這會禁用我的大多數用戶界面控件,但它會禁用主應用程序上的工具欄按鈕。我不希望用戶在彈出窗口中選擇項目並關閉它之前與應用程序進行交互。

我在這裏錯過了一些聰明的東西 - 即默認情況下會禁用工具欄嗎?為什麽它仍然活躍?是否有一些需要它的用戶界面指南?

我應該只設置工具欄以禁止用戶交互,還是那麽亂?

最佳答案

當你從UIBarButtonItem呈現它時,iOS似乎將條形圖添加為popover的“passthrough視圖”。

在呈現之後,只需設置為UIPopoverController的nil passthroughViews屬性,如下所示:

[self.myPopover presentPopoverFromBarButtonItem:some_item permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
dispatch_async(dispatch_get_main_queue(), ^{ self.myPopover.passthroughViews = nil; });

轉載註明原文: 如何在使用modalInPopover顯示彈出窗口時禁用主工具欄?