2012-05-05 22 views
1

我在我的應用程序中添加了一個UIView到根視圖控制器視圖中的代碼。這個視圖是半透明的,並且用作覆蓋整個應用程序的模態覆蓋圖(該視圖包含一個按鈕,當單擊該按鈕時,該視圖從其超級視圖中移除,這是用戶如何回到主應用程序)。有沒有辦法把UIView放在UIPopoverController的上面?

這一直很好到現在爲止,但現在我們正在使用UIPopoverController S和嘗試使用此相同的模式疊加阻止主應用程序。問題是這個UIView顯示的是後面的 popover,而不是它的頂部。

是否有任何方法可以將子視圖添加到根視圖控制器的視圖中,使其出現在任何可見的UIPopoverController的頂部,但不會忽略它們?

回答

1

上UIPopoverController參考指出:

「的酥料餅的內容在一種特殊類型的窗口,您的現有內容的上面一層」

NSView的子視圖 - 數組顯示,該視圖不會添加到顯示它的viewController的視圖層次結構中。從我的角度來看,你想要做的事是不可能的。

這裏是一個想法,但:

你可以阻止你的UIView的添加到UIPopOverController的contentViewController,並用它來設置對contentViewController的屬性。

然後你設置你的主要的viewController,這實際上顯示UIPopoverController,作爲酥料餅的委託,做這樣的事情:

- (void) popoverControllerShouldDismissPopover:(UIPopoverController*)popoverController 
{ 
    if(popoverController.contentViewController.yourProperty) 
    { 
     return YES; 
    } 
    return NO; 
} 

我不知道有多少這有助於你現在的情況,但也許它讓你開始。

+0

它不利於我目前的情況,這是「擰」。我想實現一個本地生成的popover解決方案(這不會產生這個問題),但是這需要將我們所有的視圖控制器轉換爲視圖,而我們團隊的其他成員不想這麼做。 – MusiGenesis

+0

我很抱歉。希望你仍然可以管理! –

相關問題