ios - uiimageview objective c




UIImageView缺少設備啟動屏幕中的圖像 (20)

“對我來說,解決方案只是確保在情節提要中的UIImageView未被選中“ Clears Graphics Context”框。只需為我更改此設置即可。 沒有其他解決方案對我有用。 從 蘋果開發者論壇上 獲得了它

我有一個支持iOS8和更高版本的應用程序,內置在Xcode 7中,並且我正在使用XIB作為啟動屏幕(我沒有啟動圖像)。 該視圖包含一個包含應用程序版本的UILabel,以及兩個包含Image.xcassets中都存在的圖像的UIImageViews:一個徽標和一個初始圖像。

啟動應用程序時,UILabel和徽標圖像會正確顯示,但是如果我在具有iOS9的iPad Air 2上運行該應用程序,則啟動圖像不會顯示。 我已經在運行iOS8的Air和Mini以及運行於iPad 2,iPad Air和iPad Air 2的iOS9模擬器上進行了測試,並且所有這些圖像均正確顯示。

我進行了一些基本的故障排除,以查看是否可以解決問題,但無法解決,並且我能看到的有效映像和失敗映像之間的唯一區別是將其添加到資產...

這是我所知道的摘要:

  • 初始圖像的UIImageView放置在正確的位置,且大小正確。 我可以這樣說是因為我將其背景色設置為綠色只是為了確保。 視圖在那裡,但是圖像不出現。 因此,我認為這一觀點不應該受到指責。

  • 將初始圖像設置為也使用徽標圖像的UIImageView,將使徽標圖像顯示在視圖的正確位置。 這也使我假設觀點不應該受到指責。

  • 我在初始圖像視圖中使用的UIImage在應用程序的其他位置使用,並在其他視圖中正常顯示(徽標圖像也在應用程序的其他位置使用,並且正常顯示)。 因此,我假設圖像是有效的,並且使其出現在其他視圖中不是問題。

  • 我已經確認xcassets文件中徽標和啟動畫面的UIImages設置是相同的。 它們設置為“通用”,“任何寬度和高度”,“多個比例因子”,默認顯示。 有一個區別-徽標具有1x,2x和3x比例,而初始圖像只有1x和2x,但我也嘗試過在UIView中使用僅包含1x,1x和2x值的UIImage,並且它們可以正常工作(如果它們是已添加到項目中)。

  • 將其他大小或格式(PNG和JPG)不同的圖像添加到我的xcassets並在UIImageView中使用該UIImage作為啟動圖像也無法顯示。

  • 在XIB文件中添加另一個UIImageView並為其分配一個已經在xcassets中工作的UIImage,該圖像將出現在加載屏幕中。

  • 複製和重命名用於徽標的圖像文件並將其添加到項目中,然後在初始視圖中使用該UIImage也會顯示失敗。

  • 我嘗試清理項目,重新啟動開發計算機,並從Air 2中刪除該應用程序,然後重新安裝它,以防萬一出現問題。

這最後三個步驟使我相信,在項目文件的生命週期中的某一點之後添加圖像存在一些問題。 當我昨天更新到Xcode 7時,初始圖像最初是在Xcode 6中添加的,而徽標圖像(也在Xcode 6中也添加了)是幾個月前添加的。

我查看了徽標圖像和初始圖像的json文件,它們似乎具有相同的格式。 我也瀏覽了pbxproj文件以查找差異,但看不到任何差異。

所以我想知道是否有人知道為什麼啟動屏幕可能不顯示我專門在Air 2上添加的這些新圖像? 我一直在閱讀的其他問題與未出現的圖像有關,似乎都與“啟動圖像”或XIB文件中具有相關類的圖像有關,在這裡似乎都不相關。


一個簡單的解決方案是使用JPG而不是PNG。


以下操作序列為我在Xcode 7.3.1和iOS 9.3.4上解決了該問題:

  1. 清理您的構建(⌘+⇧+ K)
  2. 關閉Xcode
  3. 硬重置iOS設備(重新啟動電源+主頁按鈕)
  4. 重新啟動Xcode-完成索引編制後即可在設備上構建。

圖像名稱是問題。 重命名啟動屏幕情節提要板中使用的圖像名稱。 確保不要使用字母數字以外的其他任何字符(不要使用“ _-&@”)。


將圖像從 Image.xcassets中取出 ,然後再次將它們添加到項目中。 它為我工作。


對我有用。

首先在xcode clean de project中。

如果您使用模擬器,請刪除應用並重新啟動。

如果您使用設備,請刪除應用程序並重新啟動設備。


就我而言,它是 圖像名稱
我在LaunchScreen.xib中添加了一個名為 [email protected] 的圖像-我的舊啟動屏幕之一僅用於測試目的。 我在iPhone X Simulator上構建圖像,但沒有顯示。

將名稱更改為中性名稱(MyImage.png)解決了該問題。

看來 @2x-568h 問題的 -568h 。 這在 [email protected] 設備上有意義。


您是否嘗試過關閉設備電源然後再打開? 做吧


我使用iPhone 5s設備,也遇到這個問題。

我通過以下方式修復它:

  • 刪除驅動器數據

  • 清理項目

  • 重新啟動Xcode

  • 從我的設備中刪除項目

  • 重新啟動5s。

我認為使用內存是Xcode的錯,系統可能為Xcode分配了一些內存,導致Xcode繪製午餐圖像失敗(在我的計算機上,Xcode運行了好幾個星期而沒有關閉)


我在iPhone 6上遇到了完全相同的問題。

非常奇怪的事實是,我能夠使用我的images.xcassets中的另一個圖像,該圖像具有相同的大小,壓縮率,色彩空間...

我無法找到為什麼它不起作用,但是我找到了解決方案:只需將文件放在images.xcassets之外,然後在Interface Builder中使用其全名(帶有擴展名)

希望對您有所幫助!


我對imageView啟動屏幕情節提要板有相同的問題。 我從項目中刪除了對圖片的引用,將我的圖像重命名並再次將其添加到項目中。 一切正常。


我從TestFlight安裝的應用程序具有相同的功能。 刪除應用程序->然後重新啟動iPhone->然後重新安裝應用程序 對我有用。 只是重新安裝應用程序或只是重新啟動設備都無濟於事。


我的解決方案@iOS 11.x:

  • 使用 .jpg 圖像而不是 .png 。 我認為圖片文件大小很重要;
  • (可選)將圖像文件放置在項目目錄中,而不是 .xcassets

我看到了同樣的問題。 重新啟動設備(iPhone 6)並將應用程序重新構建到設備是唯一修復該問題的方法。 我嘗試了許多其他技巧和建議,但沒有其他辦法。 只有重啟+重建才有幫助。


我遇到了同樣的問題,但是重新啟動設備沒有幫助。 對我有用的是從啟動故事板上刪除UIImageView並添加一個新的。


接下來幫助了我:

  • 將“啟動屏幕文件”更改為另一個XIB
  • 運行應用
  • 換下臂

同樣非常重要 :檢查您是否在其他標籤頁中未打開xib,這也可能導致它!


這似乎是iOS的錯誤。 有時系統動畫消失了。

現在,我剛剛重新啟動了iPhone,它對我來說是有效的。


這太 重要了, 一定是 空的 Launch Screen File


重新啟動Xcode為我做到了。

什麼沒做:

  • 清理構建文件夾
  • 重新啟動設備或模擬器(兩者均看不到圖像)

如果關閉,請重新打開。

認真地,重新啟動設備-這就是為我解決的問題。

這是行不通的:

  • 清理衍生數據
  • 清理項目
  • 從設備上卸載應用程序
  • 重新啟動Xcode
  • 重新啟動電腦

較早的觀察結果:

就像其他人一樣:

  • 在模擬器中可以正常工作
  • 用於在設備(iPhone 5S,iPad Air)上工作
  • 沒有代碼更改(通過git reset --hard HEAD驗證),但停止工作。

我記得觸發它停止工作的第一個版本的原因是在運行iPhone時拔掉了它的電源。 (不確定是否相關。)

但是,git reset無法修復(結合所有不起作用的干淨步驟),告訴我它必須被緩存在其他地方。 可能是.gitignored文件之一? (我正在 對Xcode項目 使用 Git忽略文件

一種解決方法適用於一個UIImageView(在具有三個的UIView中),而不適用於其他解決方案,是將圖像放入.xcassets文件中。 恢復為普通圖像文件不會撤消此修復程序。 (確實感覺像是一個緩存錯誤。)

更新:請參見頂部-重新啟動設備是對其進行修復的原因。 我感覺到錯誤的位圖數據正在設備本身上緩存。

雷達: http://openradar.appspot.com/23534818http://openradar.appspot.com/23534818





launch-screen