簡體   English   中英

XCode 8不在故事板中顯示圖像

[英]XCode 8 doesn't show images in storyboard

更新xcode后,故事板中的所有圖像都顯示為問號(因為它沒有找到它們)。 我試圖刪除/添加它們,清除派生數據,但仍然所有圖像視圖顯示問號標記。 如果有人知道可能是什么問題?

我有同樣的問題,我發現這是因為我沒有與故事板(左下角)中選擇的“查看為”設備對應的大小的圖像。

如果您選擇了需要@ 2x圖像的設備(例如:iPhone 6s)並且您只有@ 3x圖像(就像我一樣),您將看到問號。 如果添加與用於故事板的設備大小相對應的圖像大小,則圖像將顯示在imageView中。

基本上,您希望擁有所有3種尺寸的圖像:@ 1x,@ 2x和@ 3x。

如果您運行項目並且您的圖像顯示在模擬器中,則這不是問題。 有時候你會改變size classes然后就會發生這種情況。 例如,如果你使用多個大小類,如wA,hAwC,hr和你設置any,anycompact,regular兩者的約束,如果你保持any,any在interfacebulder中any,any選擇,那么它將正確顯示圖像,但如果你改變由於simulated metrics's size compact,regular它會compact,regular然后會出現question mark 所以,如果它不影響輸出那么它不是問題!

您必須為圖像使用xcassets目錄:

1)訪問Assets.xcassets

在此輸入圖像描述

2)創建新圖像集或從列表中選擇並更新現有圖像集

在此輸入圖像描述

3)將圖像變體放在@ 1x,@ 2x和@ 3x尺寸中

在此輸入圖像描述

在您的代碼中調用您的圖像,如:

let image = UIImage(named: "NewImageName")

好吧,我處於相同的情況,並開始知道xcode 8 storyboard刪除幀,這就是圖像沒有顯示的原因。 因此,您必須對uiimageviews設置適當的約束,然后您必須通過編寫此代碼來強制約束。

UIImageView *uiv = [cell viewWithTag:100];
[uiv setNeedsUpdateConstraints];
[uiv setNeedsLayout];
[uiv layoutIfNeeded];

如果您在資產中只有3x圖像要使用,並且您已經將初始設備視圖選擇為某個2x設備,請執行以下操作:

  1. 在Xcode 8中打開Storyboard文件。
  2. 轉到文件檢查器 - >界面生成器文檔。
  3. 打開 - >選擇Xcode 7.x.
  4. 保存並關閉故事板。
  5. 再次打開故事板並選擇初始設備視圖到iPhone6s Plus。

暫無
暫無

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

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