2014-01-07 40 views
0

我正在尋找在整個應用程序上展示一個窗口(無論前/活動視圖控制器是什麼)。類似於Songza所做的(下圖)。我可以在AppDelegate中做這樣的事嗎?如果不是,在哪裏?此外,什麼是做這樣的事情(不推一個新的觀點,但某類覆蓋的在應用程序的當前狀態的最好方法是什麼?ios在當前視圖上添加狀態窗口

enter image description here

+0

如果您發送電子郵件的Songza,並要求他們轉發給開發者。很多時候,這些公司真的很有幫助。我已經和Wunderlist一樣。他們給了我所有我感興趣的代碼。 –

+0

我之前所做的只是將一個新的半透明視圖帶到前面,但它沒有掩蓋任何導航欄,工具欄或選項卡欄。儘管如此,儘管如此,UIWindow對象本身也可能需要搞亂。 – valheru

回答

0

你有很多選擇,最簡單的解決辦法是使用presentViewController:animated:completion:

或者,你可以創建一個持有你的觀點休息,包括一個函數來顯示你的窗口視圖,在功能的容器視圖,只是使窗口視圖中可見,並呼籲[containerView bringToSubviewFront:windowView];

另一種選擇是穿過窗戶在你的應用程序委託,並添加視圖到適當的窗口(SVProgressHUD做到這一點):

NSEnumerator *frontToBackWindows = [[[UIApplication sharedApplication]windows]reverseObjectEnumerator]; 

for (UIWindow *window in frontToBackWindows) 
    if (window.windowLevel == UIWindowLevelNormal) 
    { 
     [window addSubview:self.overlayView]; 
     break; 
    }