web-dev-qa-db-ja.com

Interface Builder / iPhoneのUIImageViewに画像が表示されない

ビューにUIViewをドラッグしたUIImageViewがあります。突然、私のすべてのxibで画像が表示されなくなりました。青いXがあります。ただし、ビルドすると、イメージはそこにあります。

ある時点で、すべての画像を削除して再生成し、一部をXcodeのサブフォルダーに移動しました。通常、UIImageViewの画像を選択する場合、IBではプロジェクト内の任意の画像から選択できます。しかし、ドロップダウンのフォルダーに配置した画像がもう表示されません。

インスペクタのドロップダウンに表示されるのは、必要な1つの画像だけですが、表示されないものもあります。そして、私が言ったように、デバイスまたはシミュレーターでそれを構築する場合、それはすべて機能します。

キャッシュまたは何かがどこかにめちゃくちゃです。すべてがエラーなしで構築されます。キャッシュをクリアして再構築しました。それはすべて動作します。エラーや警告はありません。しかし...他の画像が表示されず、ドロップダウンで明確に選択された画像がないとIBはまだ考えています。

では、XcodeとIBを軌道に戻し、XIBで適切に表示されるはずのアセットを確認するにはどうすればよいですか?

23
dbonneville

プロジェクトをクリーンアップして再構築してみてください。

それでも機能しない場合は、Xcodeからすべての画像を削除し(参照の削除のみを選択)、それらの画像をXcodeにドラッグして再度追加します。次に、それを再構築すれば動作するはずです。

20
Mihir Mehta

私のレシピ:クリーン+ビルド+ XCODEを終了してから再開する!

ボイラ!それはそこにあります!

15
user1949873

プロジェクトにイメージをドラッグするときに、ターゲットにイメージを追加したことを確認してください。 Xcodeのフォルダー/グループ/プロジェクトシステムにはバグがあるため、画像をクリックして、図のようにインスペクターのターゲットビルドに実際に追加されていることを確認します(グラフィックの問題はグラフィックの回答に値します!):

プロジェクトに画像を追加...

enter image description here

ターゲットに追加します...(またはそう考えます)

enter image description here

背景画像はInterface Builderでうまく表示されます...

enter image description here

しかし、実行すると、設定した背景色しかありません...画像がありません...

enter image description here

インターフェイスビルダーでUIImageViewをクリックし、インスペクターを使用して、下にスクロールすると、実際には、ステップ2で明らかに示されたXcodeのように、ターゲットに追加されていないことがわかります。

enter image description here

それをターゲットに追加します...

enter image description here

そして、私たちはビルドして実行し、出来上がります!私たちの画像は、UIImageViewに表示されると想定される場所を正確に示しています。

enter image description here

これは、フレークな画像であるかどうかを確認するためのコードを追加しようとするまで、1日のほとんどの部分で気が動転しました。以下のviewDidLoad実装を作成して、問題なく追加しました。

Xcode/Interface Builderが意図したとおりに動作している場合、これは必要ないことに注意してください。ユーザーIBまたはこのコードを使用します。両方ではありません。

- (void)viewDidLoad {
UIColor *   theColor;
UIImage *   theImage;

[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
theImage = [UIImage imageNamed:@"/<redacted>/background sea green gradent.png"];
theColor = [UIColor colorWithPatternImage: theImage ];
[self.view setBackgroundColor: theColor ]; }

注:ボタンがカスタム画像を表示していない場合、これは同じ問題になる可能性があります...

8
William Cerniuk

この問題が発生しました。 Adobe Illustratorで同じ画像をエクスポートしました。 1つは透明、もう1つは白。透明なものは大きな青い疑問符で現れました。それを実行すると、しかしうまくいきました。 IBと透過PNGに関係するもの

3
Cyberpass

記録のために(私にとって何もうまくいかなかったため):

私たちのプロジェクトでは、網膜グラフィックのみがありました。 XCode 5に更新した後、すべての画像に白い疑問符が含まれていました(SimulatorではなくInterface Builderのみ)。画像ソースをnon-retinaに切り替えて、問題を解決しました!

enter image description here

btn-category-6.jpgを使用して問題を解決しました!

2
longi

私にとっては、画像の属性インスペクターに「.png」が含まれていたためです。それを削除すると問題が修正されました

2
kevnm67

私の場合、Xcode 6で新しいプロジェクトを作成したとき、シミュレータだけでなくデバイスにも画像を表示できません。画像アセット内のすべての画像をインポートし、その中にフォルダーを作成しました。すべての画像をインポートしましたが、すべて正常に動作しています。すべての画像が表示されています。

次の手順を実行します:

ステップ1:

Step 1:

ステップ2:

Step 2

ステップ3:

Step 3

次に、必要な画像をインポートします。参照リンク: StackOverflowリンク

1
Manab Kumar Mal

参考までに、私は同様の問題を抱えていました。ある時点で、画像は破損し、すべて透過PNGでした!

ファイルを置き換えたところ、再び表示されました。 Windows XPを実行しているOracleのVirtual BoxのWindows Explorerを介してファイルをコピーしたときに、イメージが破損した可能性があります。

1
whaleshark

XcodeのInterface Builderファイルで表示している画面サイズと一致する画像スケールに一致するアセットがあることを確認してください。 Xcodeでアセットカタログを使用している場合、またはそれを使用していない場合、ファイル名で区別される別のアセットが必要です(例:「 image.png、image @ 2x.png、image @ 3x.png)。

複数のアセットサイズがなく、1xまたは3xの1つのアセットを提供しただけで、異なるアセットサイズを使用するデバイスタイプのインターフェイスビルダーで画面を表示している場合、UIImageViewの画像は表示されません。 Xcodeでレンダリングします。たとえば、2xを使用するiPhone 7のインターフェイスを表示していましたが、アセットには3xバージョンしかありませんでした。 2xバージョンを追加すると、XcodeのInterface Builderにすぐに表示されました。

Xcodeでレンダリングされなくても、実行時に正しくレンダリングされる可能性があることに注意してください。それでも、各デバイスモデルに適した解像度でアセットを提供することをお勧めします。

0
shim

私にとっての問題は、新しく追加された画像ファイルがShow the media libraryですが、ボタンのドロップダウンにはありませんImage

私にとっての解決策は、名前を手動で入力することでした。テキストボックスに画像名を入力し始めたとき、オートコンプリートされました。 |

PS:選択したソリューションも実装する前に実装しました

enter image description here

0
Yousuf Azad

私はこの問題に何度か遭遇しました-時々(理由がよくわかりません...)、XcodeはUIImageViewとフォルダー内の画像の間のリンクを忘れているようです。

その場合、その画像ビューの属性インスペクターに行くのと同じくらい簡単で、画像ボックスに「不明な画像」と表示されている場合は、正しい画像を再選択します。

UIImageView attributes inspector

0
James Wirth

私はこの問題を数回経験しました。また、プロジェクトディレクトリをデスクトップにコピーし、元のフォルダーの名前を変更し、プロジェクトを新しい場所から開いて元のディレクトリに移動すると、毎回役に立ちました。これらの「すべてのヘッダーファイルをロードする」ソリューションはすべて機能する場合と機能しない場合があります

0
Tintenklecks

画像アセット実際に存在するを参照していることを確認してください。通常どおりXcodeアセットカタログ(.xcassets)にファイルを追加しましたが、名前をデフォルトの「Image」からストーリーボードで使用していた名前に変更するのを忘れていました。

0
John Erck

これらの回答のいずれも機能しない場合、考えられる理由の1つは次のとおりです。UIButtonを使用して画像を表示している場合は、ボタンにタイトルがないことを確認してください。ボタンのキャプションが切り捨てられているため、省略記号(...)が表示されます。

0
Pritesh Desai

私にとっては、資産をクリックして画像を簡単に表示するだけです。次に、ストーリーボードに戻り、画像が表示されます。

0
TM Lynch

。pngが属性インスペクターの画像名の末尾にありません

属性パネルで画像名の最後に.pngと入力すると、画像(png)が表示されるのに、正しくマッピングされたアセットをクリーニング、再インポート、およびチェックした後、何も機能しませんでした。

enter image description here

0
Jim Tierney

1x、2x、3xのすべての画像を設定し、クリーンアップしてプロジェクトをビルドしてもプロジェクトが正しく表示されない場合は、Xcodeを終了して強制終了してから、Xcodeをもう一度開いてください。 Xcodeを再起動するだけでうまくいきました。

0
Grease

同じ症状がありましたが、プロジェクトフォルダをデスクトップに移動し、そこからIBでプロジェクトを再実行したところ、うまくいきました。次に、別の名前で奇妙な同じ親フォルダーに再度移動します。

0
oberbaum

これは、画像をxcassetsに移動したときに発生しました。インスペクターのpngとjpg拡張子を削除することで解決しました。

0
Tanhan