簡體   English   中英

如何使objectAtIndex:0始終可見?

[英]How to make objectAtIndex:0 always visible?

我正在嘗試創建UIView,它需要在整個應用程序中可見。 只有這樣,我才能做到這一點,將addSubview添加到UIWindow *window = [[UIApplication sharedApplication].windows objectAtIndex:0] 。我正在AppDelegate做到這一點。 到目前為止,一切都很好。

 window = [UIApplication sharedApplication].keyWindow;
[[[window subviews] objectAtIndex:0] addSubview:myView];

這是左下角的一個小uiview。 在這種情況下,我想播放視頻,同時可以在后台執行其他操作。 但是當我推另一個ViewController甚至更改rootViewController ,它消失了,我需要再次添加它。

rootViewController是否添加到objectAtIndex:0或當我更改rootViewController ,它刪除了所有內容? 我嘗試過,在消失的任何地方都讀過它,但是最有效的解決方法是! 換句話說,如何添加它而不會丟失它?

它消失了還是在其之上添加了新視圖?

通常,當前視圖控制器將始終在窗口頂部顯示其自己的視圖。

如果您要顯示帶有圖像的背景視圖,則默認情況下可以使用一種方法在所有屏幕上保留背景圖像...您必須將其添加到窗口層,

self.view.window.layer.contents = (id)[backgroundImage CGImage];

我認為您無法創建一個浮動在應用程序中每個視圖控制器頂部的視圖。 視圖和視圖控制器應該起作用的方式與蘋果的設計背道而馳。

您可以使您的應用程序成為單個視圖控制器應用程序,並且該視圖控制器具有容器視圖屏幕大小。 然后,您可以使用嵌入segue將應用程序的“真實視圖控制器樹”嵌入到該容器視圖中。然后,可以將浮動視圖放在該最頂部的視圖控制器上,並獲得所需的效果。

創建一個新的UIWindow並給它足夠高的windowLevel (即UIWindowLevelStatusBar應該可以解決問題)。 然后將想要顯示的視圖添加到窗口中,最后通過將hidden屬性設置為NO使其可見。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM