Vedere le barre nere nella parte superiore e inferiore di iPhone X Simulator


132

Esecuzione della mia app in iPhone X Simulator (GM Seed) Sto notando due strani effetti:

  • l'app non utilizza lo spazio a schermo intero (l'area superiore e inferiore è nera)
  • una strana barra bianca sotto la barra del titolo

inserisci qui la descrizione dell'immagine

Qualcuno sa cosa sta succedendo qui e come risolverlo? Non riesco a trovare nuove impostazioni in Interface Builder.


1
Stai utilizzando un file della schermata di avvio o avvia immagini? Stai utilizzando il layout automatico?
rmaddy,

1
Lancia immagini e layout automatico
Darko,

3
Perché stai usando le immagini di avvio vecchio stile invece del file di schermata di avvio molto più semplice? Ad ogni modo, hai aggiunto la nuova immagine di avvio necessaria per le nuove dimensioni dello schermo?
rmaddy,

Non riesco a trovare un'immagine di lancio per le dimensioni di iPhone X. Ma l'utilizzo di una schermata di avvio ha risolto entrambi i problemi. Modifica la tua risposta e la contrassegnerò come risposta. Grazie!
Darko,

5
NON DOVETE USARE le immagini di lancio. USO Launch Screen.storyboardinvece
onmyway133

Risposte:


186

Quando si utilizzano le immagini di avvio (anziché il file della schermata di avvio molto più semplice), è necessario fornire l'immagine di avvio di dimensioni adeguate per ciascuna dimensione del dispositivo che si desidera supportare. Dopo aver aggiunto l'immagine di avvio aggiuntiva, l'app dovrebbe sfruttare le nuove dimensioni dello schermo.

Il nuovo iPhone X richiede un'immagine di lancio dimensionata a 1125px × 2436px che è un'immagine 3x per 375pt × 812pt.

Ovviamente se passi all'utilizzo di un file della schermata di avvio anziché di singole immagini di avvio, la tua app si adatterà automaticamente a tutte le dimensioni del dispositivo senza alcun lavoro aggiuntivo.


2
puoi approfondire come integrare la nuova immagine iPhoneX in una schermata di avvio? Tutti i set di immagini che aggiungo a Xcode 9 non hanno slot per iPhoneX, ma solo i set di lancio di immagini.
Christian Cerri,

1
@ChristianCerri I set di immagini non sono collegati ai dispositivi. Ti danno solo opzioni 1x, 2x e 3x. Mi riferivo al lancio di immagini. Quelle sono le uniche immagini specifiche del dispositivo. Se hai una domanda sull'aggiunta di immagini di dimensioni diverse a una schermata di avvio, pubblica la tua domanda specifica per quel problema.
rmaddy,

19
Come diavolo lanciare immagini relative alla barra nera nella parte superiore e inferiore del simulatore di iPhone X ??!
TomSawyer,

1
@TomSawyer Se la tua app non utilizza uno storyboard della schermata di avvio, le immagini di avvio determinano le dimensioni dello schermo supportate dalla tua app.
rmaddy,

1
Vedi la risposta di @sabiland se vedi ancora barre nere e stai usando una schermata di avvio. Sarebbe bello se questa risposta potesse essere integrata con il bocconcino su come progettare correttamente la schermata di avvio per iPhone X.
Crashalot

36

Ho risolto questo problema in iPhone X. Avvia la dimensione dell'immagine (1125 * 2436px) Scorri questo sotto i passaggi. 1.i) Scegli il nome del tuo progetto in Xcode. ii) Seleziona il tuo obiettivo di progetto iii) Quindi seleziona Avvia sorgente immagini inserisci qui la descrizione dell'immagine

  1. È possibile ottenere il popup Migrate i) Scegliere Risorse ii) Selezionare Migrare

inserisci qui la descrizione dell'immagine

  1. Successivamente seleziona i tuoi Assets.xcassets nel tuo progetto inserisci qui la descrizione dell'immagine

  2. Quindi selezionare Avvia immagine nelle risorse i) Quindi selezionare Impostazioni attributiinserisci qui la descrizione dell'immagine

  3. finalmente controlla la tua fonte di immagine di lancio. puoi vedere set Launch image.

inserisci qui la descrizione dell'immagine


Eseguito l'upgrade per le immagini. Ma dovresti cancellare il testo "LaunchScreen" dal campo di testo del file della schermata di avvio nell'ultima immagine.
NadtheVlad,

Grazie a @NadtheVlad. Cancella il testo "LaunchScreen" dal file della schermata di avvio ed elimina il file LaunchScreen.Storyboard da Xcode.
Karthickkck,

Grazie! Era la casella di controllo orizzontale di Launch Image a causare problemi poiché la mia app era solo verticale.
green0range

Grazie, ho avuto lo stesso problema e risolto aggiungendo immagini di lancio (un'applicazione SDL2)
Viktor Sehr,


14

Ho capito come risolvere (anche se ancora non capisco perché questo è successo solo su iPhone X) Storyboard LaunchScreen su iPhone X con la visualizzazione di barre nere in alto e in basso.

Ho uno storyboard LaunchScreen con un UIImageView.

La parte superiore e inferiore di UIImageView deve essere fissata alla parte superiore e inferiore di SuperView . NON a SafeArea .


Questo ha risolto il mio problema con LauchScreen con Autolayout. Ma invece di appuntare i bordi, ho centrato in orizzontale e in verticale e uguale larghezza / altezza a SuperView.
Yuri Natividade,

Questo ha funzionato solo dopo aver bloccato le viste in altri storyboard nella vista superiore / inferiore rispetto alle guide di layout. Assicurati di controllare gli storyboard mentre sei in modalità iPhone X.
Crashalot,

perché non riesco a vedere una superview nel mio storyboard quando vado a dare quel vincolo
RD_8

10

L'ho risolto semplicemente inserendo del testo casuale nel campo di Lanch Screen Filetesto. Non ho nemmeno un file di schermata di avvio ... XCode è così difettoso.

aggiornare

Anche se questo lo risolve nel simulatore (ancora molto strano e inaspettato) quando si carica un file binario su iTunes Connect, fallirà a causa della mancanza di un file LanchScreen di nome "nome casuale"


Funziona bene per iPhone X. ma non funziona per nessun altro dispositivo, fratello.
Govaadiyo,

Si si! questo lo risolve in xcode. Grazie! È abbastanza buono per i test. Comprerà un vero iPhone X per evitare il problema di xcode in futuro su cui testare.
Phyllis Sutherland,

5

Mi sono appena imbattuto in questo mentre cercavo di aggiornare un'app su cui non avevo lavorato da un po '.

Su Xcode 9.4, sono stato in grado di risolvere questo problema nel modo seguente:

  1. Aggiungi una schermata di avvio andando su File -> Nuovo -> File ... -> Schermata di avvio

inserisci qui la descrizione dell'immagine

  1. Assicurati che lo storyboard della schermata di avvio appena aggiunto sia selezionato come file della schermata di avvio nelle impostazioni del progetto.

inserisci qui la descrizione dell'immagine


1

Se hai già un'immagine di avvio di 1125 px × 2436 px ma l'app non utilizza ancora il controllo a schermo intero per assicurarti che l'immagine sia PNG.


1

se hai rimosso LaunchScreen.storyboard; Scegli il tuo progetto, seleziona il tuo obiettivo di progetto, Generale -> Icone delle app e Avvia immagini -> Avvia file schermo: seleziona qui Main.storyboard invece di LaunchScreen.storyboard


1

Ho appena avuto questo problema ... Quando ho selezionato il progetto e la destinazione corretta, avevo uno spazio vuoto per il 'file dello schermo di avvio' sotto le icone dell'app e la scheda delle immagini dello schermo di avvio. L'ho impostato sul LaunchScreen predefinito e il problema di ridimensionamento che ho dovuto affrontare è stato risolto.


0

È possibile verificare che il file della schermata di avvio della destinazione del progetto non sia impostato su vuoto se è vuoto potrebbe causare problemi.inserisci qui la descrizione dell'immagine


seleziona Laaunchscreen.storyboard nel target generale ho risolto il problema.
Aqib Zareen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.