簡體   English   中英

啟動屏幕 storyboard 不顯示圖像

[英]Launch Screen storyboard not displaying image

我試圖從我的 Launch Screen.storyboard 文件中獲取一張圖像作為啟動屏幕顯示,但該圖像從未顯示。 我的標簽顯示正常,但圖像不顯示。

這是啟動屏幕在 Launch Screen.storyboard 文件中的樣子: 在此處輸入圖像描述

但是,當我在模擬器(以及物理設備)上運行該應用程序時,會顯示以下內容:

在此處輸入圖像描述

如您所見,label“測試”顯示正常,但圖像不顯示。 我真的不確定為什么會這樣,而且我嘗試的任何方法似乎都不起作用。 如果有人對如何解決此問題有任何想法,將不勝感激。

重新啟動 Xcode 后,清理構建和一些關於此問題的其他建議。 實際上為我修復的是設備的硬重啟。 (我浪費了一個多小時)

我想這只是表明,對於最新的小工具來說,您是否將其關閉並再次打開這句老話仍然適用!

如何重啟 iPhone XS 或 iPhone XS Max

  1. 快速按下並松開調高音量按鈕
  2. 快速按下並松開降低音量按鈕
  3. 按住側邊按鈕直到出現 Apple 標志

我也在這個問題上折騰了好幾個小時。 但我現在找到了解決方案。 您需要將圖像添加到您的項目以及通過拖放操作添加到 assets.xcassets 中。

有同樣的問題,將圖像添加到“構建階段 - > 復制捆綁資源”為我修復了它。

按照以下步驟,

  1. 從設備中刪除應用程序
  2. 重啟設備
  3. 重新構建

如果不起作用,請刪除派生數據。 Xcode Preference->Locationtab->Derived data。 然后按照上面的步驟操作。

它發生在我身上,讓我發瘋,除了讓我失去幾分鍾,直到我弄清楚為止。

所以,就像之前說的:

  1. 將所需的圖像導入您的 Xcode 項目(只需拖放即可)
  2. 改變它的約束和對齊
  3. 更新框架以解決自動布局問題
  4. 在屬性檢查器選項卡菜單(通常在右上角菜單 xCode)中,在圖像視圖 > 圖像上,刪除圖像擴展名(.png 或 .jpg) - 這就是訣竅

在設計屏幕上,它不會出現,但是當您運行您的應用程序時,它會顯示出來。

我希望它可以幫助!

非常令人沮喪。 最終奏效的解決方案:

  1. 硬重啟設備

  2. 刪除應用

  3. 從 Xcode 安裝應用程序

最后,重啟手機對我有用!!

我在這個問題上花了幾個小時。 曾嘗試更改圖像名稱,刪除整個圖像資產,修改 info.plist,重新啟動 Xcode,甚至嘗試設置圖像的所有屬性(您可以看出我有多絕望)。

我遇到了同樣的問題。

  1. 將新圖像集添加到 XcodeAssets。
  2. 將圖像添加到圖像集中。
  3. 將圖像視圖添加到啟動屏幕並將您的圖像集設置為圖像
  4. 在 Imageview 的屬性檢查器上,取消選中“清除圖形上下文”
  5. 清理構建文件夾並再次運行。

在此處輸入圖片說明

投入了大量時間后,我得到了解決方案:-

Step 1:- Quit Xcode
Step 2:- Delete the app from device/simulator
Step 3:- Restart your device (if you are using simulator then you have to quit simulator)
Step 4:- Clear all derived data 
Step 5:- Clear Bin
Step 6:- Open Xcode and relaunch the app, it will work 

此問題與Assets.xcassets相關以修復它您必須將圖像添加為資源但不在xcassets文件夾中,然后應該可以正常工作

就我而言,重置模擬器的內容和設置解決了這個問題。

xCode 中的資源緩存似乎存在一些問題。 有同樣的問題,重新啟動 xCode,之后一切正常。

重新啟動您的設備並清除 x-code 派生數據

在幾個 StackOverflow 線程上嘗試了一切之后,這對我有用:

  • 使用 .png
  • 不要將其包含在您的資產目錄中。 將它直接添加到項目的層次結構中,就像添加任何源文件一樣。
  • 在圖像視圖中,加載圖像及其擴展名。 示例:launch_app_image.png

(可能必須清理產品或派生數據才能更新,但我不必這樣做)

到目前為止,有可用的視網膜設備,我忽略了Assets.xcassets @1x圖像。

就我而言,我在啟動屏幕中有應用程序徽標,當我運行應用程序時該徽標不可見。

浪費了這么多時間后,我發現我只為該徽標圖像提供了@2x@3x圖像。

此問題已通過添加該圖像的@1x版本解決。

在將圖像添加到項目並擊落問題解決的設備后,我遇到了這個問題

正在更改初始屏幕的背景圖像,但未顯示新圖像(反應本機項目)。

遵循其他人的答案。

我做了下面的所有事情,它被修復了:

  • 清潔構建。
  • 從模擬器中刪除應用程序
  • 退出模擬器
  • 重啟 XCode
  • 再次運行應用

您必須確保圖像的文件名末尾是 .png 或 .jpg 格式,否則將無法使用。 此外,在添加圖像之前,您必須確保圖像文件位於項目中的“Assets.xcassets”文件夾中。 這可以通過簡單的拖放來完成。 此外,確保將圖像添加到故事板后,左上角的圖像名稱也與真實圖像文件名匹配。 我也會嘗試研究約束。 希望這會有所幫助。 祝你的應用程序好運。

我為此嘗試了很多東西(僅此線程似乎就有一百萬個想法,其中一半是相互沖突的)。 對我來說的問題是,當我執行諸如重新啟動設備和 Xcode 之類的操作時,它會導致圖像在應用程序的幾個會話中顯示,然后它會停止(我不知道為什么,但是哇,這很煩人) .

無數個小時后,我發現AG在此線程中的答案是正確的。 我做錯的一件事是我在 xcassets 中創建了一個新的圖像集,但是我仍然在故事板內的 UIImageView 中使用圖像的名稱,而不是使用圖像集的名稱。

澄清一下,您要做的是創建一個新圖像集並將其命名為“Launch-Defaults”,然后將您的圖像添加到其中。 然后,在故事板內的 UIImageView 中,您使用圖像“Launch-Default”(不包括擴展名,因為這是一個圖像集,因此沒有擴展名)。

完成所有這些操作后,圖像實際上應該正確顯示在故事板中。 有人說如果不使用擴展名(.jpg 或 .png),圖像將顯示為空白,但我認為這是因為他們沒有使用圖像集的名稱。 其他人說您需要使用像 .png 或 .jpg 這樣的擴展名,但關鍵是在 xcassets 內創建圖像集,然后在故事板內使用該圖像集。 正確完成后,不應出現圖像未顯示或啟動屏幕僅在某些時候工作(需要重新啟動)之類的怪異現象。

只是在這個問題上加上我的 0.02 美元; 我通過使用 PNG 圖像而不是 JPG/JPEG 圖像解決了這個問題。

將圖像轉換為 PNG 並對其進行處理以稍微減小尺寸后,一切正常。

在我的特殊情況下,啟動畫面適用於模擬器和其他設備,但停止適用於一種特定設備。 這讓我相信這是 xcode(v10 和 iPhone 7 v12.1)保存的一些緩存數據。

我刪除了派生數據: ~/Library/Developer/Xcode/DerivedData/只清空文件夾內容,不刪除文件夾。 然后我重新啟動了 mac 和 iPhone,清理並重建了項目,現在它出現了。

我不確定所有這些是否必要,但不想再浪費時間縮小范圍,所以上述大錘方法對我有用。 但當然,這始終取決於您的具體情況——我的是特定於設備的; 對於其他人,它可能是實際圖像或啟動屏幕布局等。

我的問題。

原因:我在拖入 Xcode 后重命名了圖像。 解決方案:拖入Xcode后不要重命名圖像。 它為理解 Xcode 帶來了問題。 在拖動/添加到 Xcode 之前重命名圖像。

希望能幫到你!

實際上,對於一些重量級圖片,將它們添加到images.xcassets並不是一個好情況,因為應用程序在啟動之前加載了images.xcassets輕量級圖片。 所以我將啟動畫面圖像放在加載的第一個根目錄,然后問題就消失了:

  1. 在項目根目錄創建一個新
  2. 將您的圖像拖放到黃色組文件夾中
  3. 將其重命名為不同的特殊名稱
  4. 回到您的xib (或故事板)文件並將ImageView尋址到它在步驟3 中的特殊名稱。
  5. 清理並再次構建,然后您就可以看到您的圖像。

提示:您可以在images.xcassets創建您的ImageSet ,但將它們放在項目的根目錄中。

在終於意識到我的錯誤之前,我在這個問題上花了幾個小時。 當您將圖像添加到 UIImageView 時,它將僅使用圖像的名稱。 如果您的圖像與故事板位於不同的文件夾中,它們將顯示在 xcode 中,但不會在運行應用程序時顯示。 您必須添加適當的文件路徑前綴,例如,images/image.png。 它現在將在 xcode 中顯示為藍色問號,但它可以在應用程序中使用。

我遇到了同樣的問題。 為此嘗試了不同的解決方案,但事實證明沒有任何幫助。 然后我意識到只有當我將應用程序直接安裝到設備中並且應用程序仍然連接到 xcode 時,圖像才可見。 如果我斷開它然后打開應用程序,圖像會按預期顯示。 這可能是一個 xcode 錯誤。

我嘗試清理項目,刪除 png,刪除約束對我不起作用。

我只是制作了圖像的另一個副本並重命名了副本,然后刪除了舊圖像並添加了新圖像(相同,名稱已更改)我只是提供了該圖像並且它對我有用。

此外,我沒有使用 Assets.xcassets,而是使用文件夾中的圖像。

我的第一個錯誤是,我創建了一個普通的 .storyboard,將其重命名並在項目設置中將其定義為啟動屏幕。 在這種情況下,我遇到了圖像問題。 在這種情況下,似乎缺少一些設置,所以我只是通過 file->new 創建了一個新文件,並直接選擇了“啟動屏幕”,然后它就可以工作了。

我還記得,出於某種原因,啟動屏幕不支持布局約束。 也許一開始就是這樣,不確定,但現在約束應該起作用了。

也許這對任何人都有幫助。

就我而言,這不僅僅是重新啟動設備。 我的啟動圖像存儲在其他資產(其他 Pod)中。

必須將圖像移動到 App 項目的資產。 然后重新啟動我的設備。 (首先檢查模擬器,它應該可以工作)。 然后它起作用了。

圖像可以是 png/pdf 格式,單一比例與否無關緊要。

由於以下參考,我陷入了同樣的問題,我能夠解決這個問題

https://developer.apple.com/forums/thread/19759?answerId=75438022#75438022

雖然在為 imageview 選擇圖像時沒有必要更改圖像名稱和刪除擴展名,但我只是創建了一個名為 resources 的文件夾並將我的圖像添加到該文件夾中因為我認為將圖像直接放入根目錄並不好文件夾

希望這會有所幫助。

調試愉快!

我只是想通了這一點。 我的啟動圖像沒有顯示,在設備(iPhone 6、7+)或 testFlight 上啟動時出現白屏。 修復:將“Landing_screen.png”重命名為“Landing_screen”,刪除了 .png 部分。 Xcode 中的圖像圖標更改為白色圖標,並且在啟動屏幕故事板中,圖像現在顯示為問號。 現在出現啟動圖像而不是白屏。 我的設置:我使用 Swift 3.1 和 Xcode 8.3.1。 在 LaunchScreen.storyboard 中,我添加了一個簡單的圖像視圖並拉伸圖像以適應視圖控制器。 我將自動布局約束頂部/底部/前導/尾隨空間設置為 0 - 見下圖:

在此處輸入圖片說明

就我而言,事實證明我有一些視圖仍然鏈接到視圖控制器,現在只是一個基本的視圖控制器。 如果我控制單擊視圖,我可以看到帶有警告的插座,但是,警告沒有出現在 Xcode 中,這就是我無法找到它們的原因。

這恰好是XCode / iOS中的緩存問題,但是有一個簡單的解決方法:只需在Assets.xcassets中重命名文件,就可以重新生成緩存。

使用啟動故事板顯示初始屏幕時我也遇到了同樣的問題,經過研究,我發現我在啟動故事板中設置的圖像大小不同,並且我將圖像視圖設置為大於實際圖像大小。

因此,我發現的解決方案是將圖像視圖內容大小設置為高寬比,或者將圖像視圖大小設置為圖像大小。

就像您的圖像@ 1x大小為200X200時,圖像視圖應該為200X200時,您將解決此問題。

因為如果您將圖像視圖的尺寸設置為大於圖像,則圖像會出現糊狀現象,這是不允許的。

如果您仍有任何疑問,請在此處評論並詢問

我有命名的啟動屏幕文件,但它不存在。 當我刪除它時,我的啟動圖像出現了。

在我的情況下,我可以通過從屬性檢查器中取消選中 Launchscreen 故事板中使用的所有圖像視圖的“清除圖形上下文”來修復它。

為了您的信息,我在 Assets.xcassets 中以 png 格式導入了圖像。

就我而言,我必須選擇兩個復選標記:

  • 用作啟動屏幕
  • 是初始視圖控制器

用作啟動屏幕

在此處輸入圖片說明

將圖像作為常規文件導入對我有用。 不要從資產目錄添加圖像!

在此處輸入圖片說明

在此處輸入圖片說明

在我的案例中有兩個問題解決了它:

  1. 圖片似乎有1MB 的大小限制 沒有記錄,但是當我將相同的圖像從 3MB 優化到 1MB 以下時,它起作用了。 這是有道理的,因為操作系統希望啟動屏幕盡可能輕。
  2. 操作系統確實會積極緩存啟動屏幕,要查看我的啟動屏幕更改:我每次都必須重置模擬器:設備 > 擦除所有內容和設置

暫無
暫無

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

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