2012-08-03 78 views
0

我有一個非常複雜的視圖層次結構。在每個部分有一個帶有UINavigation Controller的主 - 細節視圖控制器,每個視圖控制器都有自己的UViews。我有一個覆蓋視圖,它支持拖放事件的緩衝區或持有者。無論在任何特定時間點,我都希望將此視圖置於所有子視圖的頂部,而不考慮層次結構。UIView總是在頂部

有沒有辦法讓我可以把UIView放在最上面。

喜歡的東西

 
    overlayView.alwaysOntop = YES; 

我可以手動使用功能一樣,帶來子視圖前,插入上述副視點,下面等,但是最讓我的應用程序非常複雜。

+1

你爲什麼不爲你的'overlayView'創建一個UIView,爲你的其他視圖創建第二個'UIView'?你應該只在前面加上'overlayView'一次,並且你可以在你的另一個'UIView'上自由工作(添加或刪除任何子視圖),它們總是在你的'overlayView'下面。它看起來更合乎邏輯,而不是像小丑那樣在每一個案件中提出或插入上/下方法。 – holex 2012-08-03 16:29:29

+0

好的。我試過了。我有一個窗口,我的window.vie.rootViewController被設置爲我的splitViewcontroller,所以這個轉換必須通過窗口完成。 [window insertsubview:overlayview above:slitviewController.view]; 但這沒有奏效。我認爲這對參數有一些限制。你有什麼線索嗎?我怎麼做。 – 2012-08-03 16:46:58

回答

3

你試過添加視圖導航視圖

[self.navigationController.view addSubView:yourView]; 

的副視點只要你不其他子視圖添加到您的導航控制器視圖應該留在層次結構的頂部。您可能也必須稍微調整其位置。

+0

它的工作......謝謝 – 2012-08-03 17:04:34