Das Storyboard des Startbildschirms zeigt kein Bild an

162

Ich versuche, ein Bild aus meiner Datei "Launch Screen.storyboard" als Startbildschirm anzuzeigen, das Bild wird jedoch nie angezeigt. Ich habe Beschriftungen, die gut angezeigt werden, aber das Bild wird nicht angezeigt.

So sieht der Startbildschirm in der Datei Launch Screen.storyboard aus: Geben Sie hier die Bildbeschreibung ein

Wenn ich die App jedoch auf dem Simulator (sowie auf dem physischen Gerät) ausführe, wird Folgendes angezeigt:

Geben Sie hier die Bildbeschreibung ein

Wie Sie sehen können, wird die Bezeichnung "Test" gut angezeigt, das Bild wird jedoch nicht angezeigt. Ich bin mir wirklich nicht sicher, warum das passiert und nichts, was ich versuche, scheint zu funktionieren. Wenn jemand Ideen hat, wie dies behoben werden kann, wäre er sehr dankbar.

Shadowarcher
quelle
1
Stellen Sie sicher, dass Ihr Bild im richtigen PNG- Format ist. nicht jpg wenn es ist.
Utkarsh Singh
Überprüfen Sie diese stackoverflow.com/a/49802421/5790492
Nik Kov
3
Die Tatsache, dass mehrere, völlig unterschiedliche Antworten viele positive Stimmen haben, ist sehr, sehr traurig.
Daniel Springer
1
Ist es möglich, dass das Bild, wenn es zu groß ist und die Ladezeit zu lange dauert, vom Startbildschirm verworfen wird?
Lubbo
@Lubbo Ich denke, diese Theorie hat etwas zu bieten. Ich habe eine Startansicht mit einem großen und einem kleinen Bild, die kleine wird gut geladen und die große nicht. Das kleine Bild befindet sich in xcassets und das große habe ich sowohl in als auch außerhalb der Assets-Datei ausprobiert.
Tom Bates

Antworten:

326

Nach dem Neustart von Xcode bereinigen Sie den Build und einige andere Vorschläge zu SO zu diesem Problem. Was es für mich tatsächlich behoben hat, war ein harter Neustart des Geräts. (Ich habe über eine Stunde damit verschwendet)

Ich nehme an, es zeigt nur, dass das alte Sprichwort, dass Sie es aus- und wieder eingeschaltet haben, immer noch für die neuesten Geräte gilt!

So starten Sie das iPhone XS oder das iPhone XS Max neu

  1. Drücken Sie kurz die Lauter-Taste und lassen Sie sie los
  2. Drücken Sie kurz die Leiser-Taste und lassen Sie sie wieder los
  3. Halten Sie die Seitentaste gedrückt, bis das Apple-Logo angezeigt wird
Flexicoder
quelle
30
Dieser Typ ist richtig. Nur ein harter Neustart des Geräts hat es für mich behoben!
Lance Samaria
4
Hatte das Problem, dass ein Bild nicht aktualisiert wurde, nachdem es in den Assets überschrieben wurde. Vielen Dank für den Tipp: Wenn Sie den Simulator vollständig verlassen und neu starten, wird die Vorschau aktualisiert. Sehr seltsam, dass nichts anderes den Trick zu tun schien.
Kilian
3
Vielen Dank. Es funktioniert auch für den Simulator. Nach dem Neustart des Simulators wird schließlich das Bild im Launch Scree.storyboard angezeigt. Es ist definitiv ein Fehler von iOS.
Vince Yuan
4
Selbes Problem hier. Sogar ich habe das Bild auf dem Startbildschirm im Simulator geändert, das alte Bild wurde irgendwie immer noch auf meinem Handy zwischengespeichert. Versucht, sauber zu bauen, Dateinamen zu ändern, Bild zu ändern, hat nicht funktioniert. Ich musste mein Telefon aus- und wieder einschalten. Das hat es behoben.
Paul
3
Das ist 2020 und das hat mir immer noch den Tag gerettet! Vielen Dank!
Bezaleel
91

Ich habe auch stundenlang damit rumgespielt. Aber ich habe jetzt die Lösung gefunden. Sie müssen das Bild per Drag & Drop zu Ihrem Projekt und auch zu den Assets.xcassets hinzufügen .

Tristan G.
quelle
8
Das war's. Das Image musste sowohl im Projekt als auch im Vermögen enthalten sein. Dies ist wie ein Schlag ins Maul. Welcher Tipp wird es beheben? Niemand weiß.
FranticRock
Wer wusste, dass Sie Bild in Projekt auch hinzufügen müssen
Abdul Waheed
2
Das Hinzufügen eines Bildes nur zum Projekt hat mein Problem behoben :)
Sneha
3
Danke, das hat es für mich geregelt. Um dies hinzuzufügen, hatte ich zuvor die Bilder mit der Größe (launch280.png, launch560.png, launch840.png) benannt und Assets.xcassets ein Asset mit dem Asset-Namen von hinzugefügt launch. Aber es hat immer noch nicht funktioniert. Ich musste die Bilddateien in launch.png, [email protected] und [email protected] umbenennen, sie dem Projekt hinzufügen, sie als Asset namens aufrufen launchund dann funktionierte es. Dank Apple macht die einfachsten Dinge unnötig kompliziert ¬_¬
mashers
2
Aaaund ich bin 3 Jahre später zum zweiten Mal hier ... Es ist April 2020, XCode hat immer noch diesen Fehler ... Schön ...
FranticRock
42

Hatte das gleiche Problem, indem ich das Bild zu "Build-Phasen -> Bundle-Ressourcen kopieren" hinzufügte, wurde es für mich behoben.

Jakab Robert
quelle
6
Das brauchte ich. Das Bild muss sich im Hauptpaket befinden, nicht in der Assets-Datei.
Meonardo
Das hat es für mich getan.
Chris
Es wurde für mich behoben, danke!
Adam Eliezerov
28

Befolgen Sie die folgenden Schritte,

  1. Entfernen Sie die Anwendung vom Gerät
  2. Gerät neustarten
  3. Bauen Sie erneut

Wenn dies nicht funktioniert, löschen Sie abgeleitete Daten. Xcode Preference-> Locationtab-> Abgeleitete Daten. Befolgen Sie dann die obigen Schritte.

Vineesh TP
quelle
25

Es ist mir passiert und macht mich verrückt, außer dass ich ein paar Minuten verliere, bis ich es herausgefunden habe.

Also, wie schon gesagt:

  1. Importieren Sie das gewünschte Bild in Ihr Xcode-Projekt (ziehen Sie es einfach per Drag & Drop).
  2. Ändern Sie die Einschränkungen und die Ausrichtung
  3. Aktualisieren Sie Frames, um Probleme mit dem automatischen Layout zu beheben
  4. Entfernen Sie im Menü der Registerkarte "Attribute" (im Allgemeinen im Menü xCode in der rechten Ecke) unter "Bildansicht"> "Bild" die Bilderweiterung (.png oder .jpg) - das ist der Trick

Auf dem Entwurfsbildschirm wird es nicht angezeigt, aber wenn Sie Ihre App ausführen, wird es angezeigt.

Ich hoffe es kann helfen!

Jhonsore
quelle
1
hat für mich gearbeitet! Bevor ich Ihre Lösung ausprobierte, konnte ich sie nur zeigen, indem ich mein Telefon neu startete! Vielen Dank
Filipe Sá
1
Danke dir! Ich habe keine Ahnung, wie Sie es gefunden haben, aber es funktioniert!
Stas Volskiy
Ja in der Tat !! Der Trick besteht darin, die Bilderweiterung aus PNG-Bilddateien zu entfernen! .jpg-Dateien funktionierten nicht, also musste ich sie zuerst in .png konvertieren! Vielen Dank Jhnosore!
ActiveA
24

Sehr frustrierend. Lösung, die endlich funktioniert hat:

  1. Führen Sie einen harten Neustart des Geräts durch

  2. App löschen

  3. Installieren Sie die App von Xcode

Crashalot
quelle
17

Endlich neu starten das Telefon funktioniert bei mir !!

Ich habe Stunden mit diesem Thema verbracht. Hatte versucht, den Bildnamen zu ändern, die gesamten Bildelemente zu löschen, info.plist zu ändern, Xcode neu zu starten und sogar versucht, alle Attribute der Bilder festzulegen (was Sie daran erkennen können, wie verzweifelt ich war).

Shumin
quelle
Dies gibt keine Antwort auf die Frage. Sobald Sie einen ausreichenden Ruf haben, können Sie jeden Beitrag kommentieren . Geben Sie stattdessen Antworten, die nicht vom Fragesteller geklärt werden müssen . - Aus dem Rückblick
Adam Richardson
Es tut mir leid @AdamRichardson es gibt eine Antwort und eine richtige auch und das war mein Fall. Ich musste nur das Telefon / den Simulator neu starten .
Kegham K.
Ich habe 16 Stunden damit verbracht, dieses Problem zu beheben, und schließlich das Telefon neu gestartet.
Krishnan
2
Ich wette, jemand bei Apple, der dies beheben könnte, muss denken: "Oh, sie müssen nur ihre Telefone neu starten - es ist nicht so, dass dies Release-Builds oder ähnliches betrifft. Wir können diese Aufgabe für später belassen."
Dinesharjani
Letztendlich wurde das Telefon neu gestartet, mit dem das Problem behoben wurde
Taylor Maxwell,
12

Dieses Problem hängt mit der Datei Assets.xcassets zusammen. Um es zu beheben, müssen Sie das Bild als Ressource hinzufügen, jedoch nicht im Ordner xcassets, und sollten dann einwandfrei funktionieren

Reinier Melian
quelle
2
Dies ist die einzige Lösung, die bisher funktioniert hat. Das Neustarten von xcode, das Löschen abgeleiteter Daten und das Ändern des Bildnamens funktionierten nicht. Ich empfehle niemandem, das Gerät neu zu starten
NightFury
Dieser Fehler ist so alt wie die Erstellung von xcassets. Ich habe es mental in meinen Ordner "Sachen, die Apple niemals lösen wird" eingetragen.
Ente
8

In meinem Fall wurde das Problem durch Zurücksetzen von Inhalten und Einstellungen für den Simulator behoben.

Tarek
quelle
7

Ich hatte das gleiche Problem.

  1. Fügen Sie XcodeAssets ein neues Imageset hinzu.
  2. Fügen Sie dem Bilderset Bilder hinzu.
  3. Fügen Sie dem Startbildschirm eine Bildansicht hinzu und legen Sie Ihr Bildset als Bild fest
  4. Deaktivieren Sie im Attributinspektor von Imageview das Kontrollkästchen "Grafikkontext löschen".
  5. Bereinigen Sie den Build-Ordner und führen Sie ihn erneut aus.

Geben Sie hier die Bildbeschreibung ein

AG
quelle
5

Es scheint, dass es ein Problem mit dem Zwischenspeichern von Ressourcen in xCode gibt. Hatte das gleiche Problem, startete xCode neu und danach funktioniert alles einwandfrei.

Entro
quelle
5

Starten Sie Ihr Gerät neu und löschen Sie von X-Code abgeleitete Daten

Maulik Patel
quelle
3

Nachdem ich alles in mehreren StackOverflow-Threads ausprobiert habe, hat Folgendes für mich funktioniert:

  • Verwenden Sie eine .png
  • Nehmen Sie es nicht in Ihren Assets-Katalog auf. Fügen Sie es direkt zur Hierarchie Ihres Projekts hinzu, wie Sie jede Quelldatei hinzufügen würden.
  • Laden Sie in der Bildansicht das Bild einschließlich seiner Erweiterung. Beispiel: launch_app_image.png

(Möglicherweise mussten Produkt- oder abgeleitete Daten bereinigt werden, um sie zu aktualisieren, aber ich musste nicht)

Kqtr
quelle
2020 und dies ist immer noch relevant. Wenn Sie das Bild manchmal in ein neues PNG im Katalog ändern, wenn es funktioniert, wird es gestoppt. Unsicher, ob es sich um eine Komprimierungsstufe handelt, aber einfache Bilddateien funktionieren.
Mitchell Currie
3

Ich hatte dieses Problem, nachdem ich dem Projekt ein Bild hinzugefügt und das Gerät abgeschossen hatte. Das Problem wurde behoben

maral
quelle
3

Änderte das Hintergrundbild des Begrüßungsbildschirms und das neue Bild wurde nicht angezeigt (natives Projekt reagieren).

Den Antworten anderer folgen.

Ich habe alles unten gemacht und es wurde behoben:

  • Sauber bauen.
  • App aus dem Simulator entfernen
  • Beenden Sie den Simulator
  • Starten Sie XCode neu
  • Führen Sie die App erneut aus
ruhen
quelle
3

Nun, ab sofort ist ein Netzhautgerät verfügbar und ich habe das @1xBild ignoriert Assets.xcassets.

In meinem Fall habe ich ein App-Logo im Begrüßungsbildschirm, das beim Ausführen der Anwendung nicht sichtbar ist.

Nach so viel Zeit ich herausgefunden, dass ich nur zur Verfügung gestellt @2xund @3xfür das Logo - Bild - Bilder.

Dieses Problem wird durch Hinzufügen einer @1xVersion dieses Bildes behoben .

Kampai
quelle
1
du hast meinen Tag gerettet!
Kambala
2

Sie müssen sicherstellen, dass der Dateiname Ihres Bildes am Ende ein Format wie .png oder .jpg hat, sonst funktioniert es nicht. Bevor Sie Ihr Bild hinzufügen, müssen Sie außerdem sicherstellen, dass sich die Bilddatei in Ihrem Ordner "Assets.xcassets" in Ihrem Projekt befindet. Dies kann durch einfaches Ziehen und Ablegen erfolgen. Stellen Sie außerdem sicher, dass der Bildname oben links auch mit dem Namen der tatsächlichen Bilddatei übereinstimmt, wenn Sie Ihr Bild zu Ihrem Storyboard hinzugefügt haben. Ich würde auch versuchen, Einschränkungen zu untersuchen. Hoffe das hilft. Viel Glück mit deiner App.


quelle
2

Ich habe Stunden mit diesem Problem verbracht, bevor ich endlich meinen Fehler bemerkte. Wenn Sie einer UIImageView ein Bild hinzufügen, wird nur der Name des Bildes verwendet. Wenn sich Ihre Bilder in einem anderen Ordner als Ihr Storyboard befinden, werden sie in xcode angezeigt, jedoch nicht beim Ausführen der App. Sie müssen das entsprechende Dateipfadpräfix hinzufügen, z. B. images / image.png. Es wird jetzt als blaues Fragezeichen in xcode angezeigt, funktioniert aber in der App.

Prime624
quelle
2

Nur um meine $ 0.02 zu dieser Frage hinzuzufügen; Ich habe dieses Problem gelöst, indem ich PNG-Bilder anstelle von JPG / JPEG-Bildern verwendet habe.

Nachdem die Bilder in PNG konvertiert und zerkleinert wurden, um die Größe ein wenig zu verringern, funktionierte alles einwandfrei.

Gee.E
quelle
2

Nachdem ich viel Zeit investiert hatte, bekam ich die Lösung:

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 
Vipul Kumar
quelle
es hat bei mir funktioniert danke
Dilip Tiwari
@ DilipTiwari herzlich willkommen :)
Vipul Kumar
1

Ich stand vor dem gleichen Problem. Versuchte verschiedene Lösungen dafür, aber nichts erwies sich als hilfreich. Ich habe dann festgestellt, dass das Bild nur dann nicht sichtbar war, als ich die App direkt auf dem Gerät installiert habe und die App immer noch mit dem xcode verbunden ist. Wenn ich es trenne und dann die App öffne, war das Bild wie erwartet sichtbar. Es könnte ein Xcode-Fehler sein.

Preeti Rani
quelle
1

Ich habe versucht, das Projekt zu bereinigen, das PNG zu entfernen, die Einschränkungen zu entfernen, hat bei mir nicht funktioniert.

Ich habe nur eine weitere Kopie des Bildes erstellt und die Kopie umbenannt, dann das alte Bild gelöscht und das neue Bild hinzugefügt (dasselbe, mit geändertem Namen). Ich habe nur das Bild gegeben und es hat bei mir funktioniert.

Außerdem verwende ich nicht die Assets.xcassets, sondern das Bild in einem Ordner.

R. Mohan
quelle
1

Ich habe so viele Dinge damit versucht (dieser Thread allein scheint eine Million Ideen zu haben und die Hälfte davon ist widersprüchlich). Das Problem für mich war, dass beim Neustart des Geräts und des Xcodes das Bild für einige Sitzungen der App angezeigt wurde und dann angehalten wurde (ich habe keine Ahnung warum, aber WOW, es war ärgerlich). .

Nach unzähligen Stunden stellte ich fest, dass die Antwort von AG in diesem Thread die richtige ist. Das einzige, was ich falsch gemacht habe, war, dass ich einen neuen Bildsatz in xcassets erstellt habe, aber dann immer noch den Namen des Bildes in der UIImageView im Storyboard verwendet habe, anstatt den Namen des Bildsatzes.

Um dies zu verdeutlichen, erstellen Sie einen neuen Bildsatz, nennen ihn "Launch-Defaults" und fügen dann Ihre Bilder hinzu. Anschließend verwenden Sie in der UIImageView im Storyboard das Bild "Launch-Default" (ohne Erweiterung, da es keine gibt, da es sich um einen Bildsatz handelt).

Wenn Sie dies alles tun, sollte das Bild tatsächlich korrekt in Ihrem Storyboard angezeigt werden. Einige Leute sagen, dass das Bild leer angezeigt wird, wenn Sie die Erweiterung (.jpg oder .png) nicht verwenden, aber ich gehe davon aus, dass dies daran liegt, dass sie nicht den Namen des Bildsatzes verwenden. Andere sagen, dass Sie eine Erweiterung wie .png oder .jpg verwenden müssen, aber der Schlüssel besteht darin, den Bildsatz in xcassets zu erstellen und diesen Bildsatz dann im Storyboard zu verwenden. Bei korrekter Ausführung sollte es keine Funky geben, wie wenn ein Bild nicht angezeigt wird oder der Startbildschirm nur zeitweise funktioniert (ein Neustart ist erforderlich).

John Holtkamp
quelle
1

In meinem speziellen Fall funktionierte der Begrüßungsbildschirm für den Simulator und andere Geräte, funktionierte jedoch nicht mehr für ein bestimmtes Gerät. Dies ließ mich glauben, dass es sich um einige Caching-Daten handelte, die von xcode (v10 und iPhone 7 v12.1) gespeichert wurden.

Ich habe die abgeleiteten Daten gelöscht unter: ~/Library/Developer/Xcode/DerivedData/ nur den Ordnerinhalt leeren, nicht den Ordner löschen. Ich habe dann den Mac und das iPhone neu gestartet und das Projekt bereinigt und neu erstellt, und jetzt wird es angezeigt.

Ich bin mir nicht sicher, ob all dies notwendig war, wollte aber keine Zeit mehr damit verschwenden, es einzugrenzen, also hat der obige Vorschlaghammer-Ansatz für mich funktioniert. Aber natürlich hängt es immer von Ihrer spezifischen Situation ab - meine war gerätespezifisch; für andere könnte es das tatsächliche Bild oder das Startbildschirm-Layout usw. sein.

zkon
quelle
1

Mein Problem.

Grund: Ich habe die Bilder nach dem Ziehen in Xcode umbenannt. Lösung: Benennen Sie Bilder nach dem Ziehen in Xcode nicht um. Dies führt zu Problemen beim Verständnis von Xcode. Benennen Sie Bilder um, bevor Sie sie in Xcode ziehen / hinzufügen.

Hoffe es hilft dir raus!

Wajahat Hussain
quelle
0

Ich habe das gerade herausgefunden. Mein Startbild wurde nicht angezeigt. Beim Starten auf einem Gerät (iPhone 6, 7+) oder testFlight wird ein weißer Bildschirm angezeigt. Fix: "Landing_screen.png" wurde in "Landing_screen" umbenannt und der .png-Teil entfernt. Das Bildsymbol in Xcode wurde in ein weißes Symbol geändert, und im Storyboard des Startbildschirms wird das Bild jetzt als Fragezeichen angezeigt. Das Startbild wird jetzt angezeigt und nicht der weiße Bildschirm. Mein Setup: Ich verwende Swift 3.1 mit Xcode 8.3.1. In LaunchScreen.storyboard habe ich eine einfache Bildansicht hinzugefügt und das Bild so gestreckt, dass es zum Ansichts-Controller passt. Ich habe die Einschränkungen für das automatische Layout oben / unten / führend / nachlaufend auf 0 gesetzt - siehe Abbildung unten:

Geben Sie hier die Bildbeschreibung ein

Brian
quelle
0

In meinem Fall stellte sich heraus, dass einige Ansichten noch mit dem Ansichts-Controller verknüpft waren, der jetzt nur noch ein einfacher Ansichts-Controller war. Wenn ich bei gedrückter Ctrl-Taste auf die Ansicht klicke, werden die Steckdosen mit Warnungen angezeigt. Die Warnungen wurden jedoch nicht in Xcode angezeigt, weshalb ich Probleme hatte, sie zu finden.

Gujamin
quelle
0

Dies ist zufällig ein Caching-Problem in XCode / iOS, aber es gibt eine einfache Lösung dafür: Benennen Sie einfach die Datei in Assets.xcassets um, damit der Cache neu generiert wird.

das marcel
quelle
0

Mein erster Fehler war, dass ich ein normales .storyboard erstellt, umbenannt und in den Projekteinstellungen als Startbildschirm definiert habe. In diesem Fall hatte ich Bildprobleme. Es scheint, dass in diesem Fall einige Einstellungen fehlen, also habe ich einfach eine neue Datei über Datei-> Neu erstellt und direkt den "Startbildschirm" ausgewählt und dann hat es funktioniert.

Außerdem habe ich daran gedacht, dass Layoutbeschränkungen auf dem Startbildschirm aus irgendeinem Grund nicht unterstützt werden. Vielleicht war es am Anfang so, nicht sicher, aber jetzt sollten Einschränkungen funktionieren.

Vielleicht hilft das jedem.

Tim Christmann
quelle
0

Ich habe das gleiche Problem, wenn ich das Launch-Storyboard zum Anzeigen des Begrüßungsbildschirms verwende. Nach Recherchen habe ich festgestellt, dass das Bild, das ich im Launch-Storyboard festgelegt habe, eine andere Größe hat und die Bildansicht größer als die tatsächliche Bildgröße eingestellt hat.

Die Lösung, die ich gefunden habe, besteht darin, entweder die Größe des Inhalts der Bildansicht als Aspektanpassung oder die Größe der Bildansicht als Bildgröße festzulegen.

Wenn Ihr Bild bei einer Größe von 1x 200 x 200 ist, sollte die Bildansicht 200 x 200 sein, dann lösen Sie dieses Problem.

Wenn Sie die Bildansicht größer als das Bild einstellen, wird das Bild gestärkt und dies ist nicht zulässig.

Wenn Sie noch Zweifel haben, kommentieren Sie bitte hier und fragen Sie

Hardik Vyas
quelle