簡體   English   中英

UIWindow addSubview在ios 9中不起作用

[英]UIWindow addSubview is not working in ios 9

以下代碼在ios 8中正常工作,但在ios 9中我得到的白頁沒有內容。

MRForceUpdateView * mForceUpdateView = [[[NSBundle mainBundle] loadNibNamed:@"MRForceUpdateView" owner:self options:nil] objectAtIndex:0];

mForceUpdateView.frame = self.view.frame;

UIWindow * window = [[[UIApplication sharedApplication] delegate] window];

[window addSubview:mForceUpdateView];

請提供一種在應用級別添加自定義視圖的方法。

提前致謝 。

取消選中“使用大小類”選項,然后返回並再次重新檢查它可以解決此問題。

  • 在項目導航器中,選擇storyboard或xib文件。
  • 該文件的內容在Interface Builder中打開。
  • 選擇“視圖”>“實用程序”>“顯示文件檢查器”。
  • 在Interface Builder Document部分中,取消勾選“Use Size Classes”復選框。
  • 離開菜單。 返回並再次勾選“使用大小類”復選框。

具有大小類的解決方案對我來說很奇怪,因為我現在沒有遇到任何問題,只需在iOS 9的窗口中添加子視圖。

此外,我想指出,當設置rootViewController時 - 窗口層次結構中的所有現有視圖都將被刪除。

從UIWindow文檔:

根視圖控制器提供窗口的內容視圖。 將視圖控制器分配給此屬性(以編程方式或使用Interface Builder)將視圖控制器的視圖安裝為窗口的內容視圖。 如果窗口具有現有視圖層次結構,則在安裝新視圖之前將刪除舊視圖。

因此,您必須確保在設置rootViewController后將視圖添加到窗口層次結構中。

例如,當加載第一個控制器時 - 您只能延遲加載該視圖一次。

嘗試使用[window.rootViewController.view addSubview: view];

我面臨同樣的問題並通過簡單地退出/強制退出Xcode和Simulator( Cmd + 選項 + Esc )然后重新啟動和清理( Cmd + Shift + k )來修復它。 有時Xcode行為不端,我只能希望我早些時候試過這個來節省很多時間。

嘗試

view.alpha = 0

在ViewController和viewDidLoad函數中

希望能幫助到你

暫無
暫無

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

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