2013-10-20 52 views
1

我有一種情況,即將商店視圖添加爲頂層窗口的子視圖。 這是由下面的代碼完成:添加視圖作爲應用程序頂層窗口的子視圖時,警報視圖不可見

NSArray* windows = [[UIApplication sharedApplication] windows]; 
int count = [windows count]; 
UIWindow* topWindow = [windows objectAtIndex:count - 1]; 
[topWindow addSubview:_storeView]; 

當我購買的產品,在某些情況下(不知道確切的時間和原因)In App Purchase的警報,用戶需要輸入自己的應用程序ID憑證和批准交易將被我的觀點所覆蓋,並且對用戶不可見。 只有當我解僱我的看法,我可以看到他們並完成購買流程。

我如何確保那些警報將出現在所有其他視圖之上。爲什麼它不一致,在某些情況下,它對用戶是可見的,在某些情況下它不是...

欣賞任何幫助。

回答

0

爲什麼你直接將視圖添加到窗口?我建議你閱讀Apple文檔UIViewController編程指南。

問題可以得到這個代碼行:

NSArray* windows = [[UIApplication sharedApplication] windows]; 
int count = [windows count]; 
UIWindow* topWindow = [windows objectAtIndex:count - 1]; 
[topWindow addSubview:_storeView]; 

什麼是你的應用程序的根控制器?你使用容器控制器(UINavigationController,UITabBarController,...)。你可以請你出示你的AppDelegate代碼嗎?

0

找到了解決辦法。

而不是使用當前窗口我正在創建一個新的窗口,它浮在其他UI元素(如系統鍵盤)之上。 我將它的窗口級別屬性設置爲UIWindowLevelStatusBar以顯示上面的狀態欄,但在uialertviews下面

相關問題