2013-07-11 115 views
1

我創建了第二個窗口,並加入它的默認的頂部:多UIWindows和觸摸事件

[topWindow makeKeyAndVisible]; 
topWindow.hidden = NO; 

它的工作原理,但我的首要窗口阻止應用程序的默認窗口的訪問。我想知道如果在我的頂部窗口中的某個位置沒有元素(如示例按鈕),我們可以訪問下面默認窗口的元素。

我希望這是可以理解的。 對不起,我的英語。 預先感謝您的幫助。

+0

你爲什麼使用兩個窗口?預計iOS應用程序每個屏幕只有一個窗口。你可以使用視圖來代替頂部窗口嗎? – Caleb

+0

這是在我的應用程序的頂部有一層不干擾我的應用程序的主窗口 – Jonathan

+0

奇怪的是,您的評論在我的框中以法文顯示。你是用法語寫的,然後編輯它?就是想。 – Caleb

回答

1

我創建了第二個窗口,並將其添加在上面

所以,我認爲通常的期望是有一個在iOS應用,每屏只有一個窗口。 The docs seem to imply this

每個應用程序都有一個窗口,用於在基於iOS的設備顯示屏上顯示應用程序的用戶界面。如果外部顯示器連接到設備,應用程序可以創建第二個窗口以在該顯示器上顯示內容。

iOS可能只是假設每個屏幕只有一個窗口,所以hit-testing process只考慮一個窗口,可能是關鍵窗口。由於您將第二個窗口設置爲關鍵窗口,因此建議您在創建第二個窗口之後創建第一個窗口鍵,然後查看是否會更改內容。如果第一個窗口接收到觸摸並且第二個窗口不接受則不會令人驚訝。如果您發現這種情況,您可能子類UIWindow,覆蓋-hitTest:withEvent:將事件傳遞到其他窗口如果沒有找到命中視圖,然後使用該子類爲您的窗口。

否則,如果您無法使其工作,請考慮返回單個窗口並使用不同的視圖。你的問題有點類似於Make this view appear in every view, inside the appmy suggestion那裏創建你自己的容器視圖控制器可能對你有幫助。