Vendo barras pretas na parte superior e inferior do iPhone X Simulator


132

Executando meu aplicativo no iPhone X Simulator (GM Seed), percebo dois efeitos estranhos:

  • o aplicativo não usa o espaço da tela cheia (a área superior e inferior é preta)
  • uma estranha barra branca abaixo da barra de título

insira a descrição da imagem aqui

Alguém sabe o que está acontecendo aqui e como resolver isso? Não consigo encontrar novas configurações no Interface Builder.


1
Você está usando um arquivo Launch Screen ou iniciar imagens? Você está usando o layout automático?
— rmaddy

1
Lançar imagens e layout automático
— Darko

3
Por que você está usando as imagens de inicialização antigas, em vez do arquivo da tela de inicialização, muito mais fácil? De qualquer forma, você adicionou a nova imagem de inicialização necessária para o novo tamanho da tela?
— rmaddy

Não consigo encontrar uma imagem de inicialização para o tamanho do iPhone X. Mas usar uma tela de lançamento resolveu os dois problemas. Por favor edite sua resposta e eu a marcarei como respondida. Obrigado!
— Darko

5
Você NÃO DEVE USAR imagens de inicialização. Use em Launch Screen.storyboardvez disso
— onmyway133

Respostas:


186

Ao usar imagens de inicialização (em vez do arquivo de tela de inicialização muito mais fácil), é necessário fornecer a imagem de inicialização de tamanho adequado para cada tamanho de dispositivo que você deseja oferecer suporte. Depois de adicionar a imagem de inicialização adicional, seu aplicativo deve aproveitar o novo tamanho da tela.

O novo iPhone X requer uma imagem de inicialização dimensionada em 1125px × 2436px, que é uma imagem 3x para 375pt × 812pt.

Obviamente, se você optar por usar um arquivo de tela Iniciar em vez de imagens individuais, o aplicativo se adaptará automaticamente a todos os tamanhos de dispositivo sem nenhum trabalho adicional.


2
você pode entrar em mais detalhes sobre como integrar a nova imagem do iphoneX em uma tela de inicialização? Quaisquer conjuntos de imagens adicionados ao Xcode 9 não têm slots para iphoneX, apenas os conjuntos de imagens de inicialização.
— Christian Cerri

1
@ChristianCerri Os conjuntos de imagens não estão vinculados aos dispositivos. Eles apenas oferecem opções de 1x, 2x e 3x. Eu estava me referindo ao lançamento de imagens. Essas são as únicas imagens específicas do dispositivo. Se você tiver alguma dúvida sobre como adicionar imagens de tamanhos diferentes a uma tela Iniciar, poste sua própria pergunta específica para esse problema.
— precisa saber é o seguinte

19
Como diabos lança imagens relacionadas à blackbar na parte superior e inferior do iPhone X simulator ?!
— TomSawyer

1
@TomSawyer Se o aplicativo não usar um storyboard da tela Iniciar, as imagens de inicialização determinarão os tamanhos de tela compatíveis com o aplicativo.
— precisa saber é

1
Veja a resposta do @sabiland se você ainda estiver vendo barras pretas e usando uma tela de inicialização. Seria ótimo se essa resposta pudesse ser complementada com o boato sobre como projetar a tela de inicialização corretamente para o iPhone X.
— Crashalot

36

Eu descobri esses problemas no iPhone X. Iniciar o tamanho da imagem (1125 * 2436px) Siga as etapas abaixo. 1.i) Escolha o nome do seu projeto no Xcode. ii) Selecione o destino do projeto iii) Em seguida, selecione Iniciar fonte de imagens insira a descrição da imagem aqui

  1. Você pode obter o pop-up Migrar i) Escolha Ativos ii) Selecione Migrar

insira a descrição da imagem aqui

  1. Depois disso, selecione seus Assets.xcassets em seu projeto insira a descrição da imagem aqui

  2. Em seguida, selecione Iniciar imagem nos ativos i) Em seguida, selecione Inspetor de Atributosinsira a descrição da imagem aqui

  3. finalmente, verifique sua fonte de imagem do Launch. você pode ver a imagem inicial definida.

insira a descrição da imagem aqui


Votado para as fotos. Mas você deve limpar o texto "LaunchScreen" no campo de texto Launch Screen File em sua última imagem.
— NadtheVlad

Obrigado @NadtheVlad. Limpe o texto "LaunchScreen" em Launch Screen File e exclua o arquivo LaunchScreen.Storyboard do Xcode.
— Karthickkck

Obrigado! Foi a caixa de seleção paisagem da imagem de lançamento que estava causando problemas, pois meu aplicativo é apenas retrato.
— green0range

Obrigado, teve o mesmo problema e resolveu-lo adicionando imagens do lançamento (uma aplicação SDL2)
— Viktor Sehr


14

Eu descobri como consertar (embora ainda não entenda por que isso aconteceu apenas no iPhone X) o storyboard do LaunchScreen no iPhone X ao ver as barras superior e inferior pretas.

Eu tenho o storyboard do LaunchScreen com um UIImageView.

A parte superior e inferior do UIImageView deve ser fixada na parte superior e inferior do SuperView . NÃO para SafeArea .


Isso resolveu meu problema com o LauchScreen com Autolayout. Mas, em vez de fixar as bordas, centralizei horizontal e verticalmente e igualei a largura / altura ao SuperView.
— Yuri Natividade

Isso só funcionou depois de também fixar as visualizações em outros storyboards na parte superior / inferior da visualização, em oposição aos guias de layout. Verifique os storyboards no modo iPhone X.
— Crashalot

Por que não pode ver superview na minha storyboard quando eu vou dar essa restrição
— rd_

10

Corrigi-o simplesmente inserindo algum texto aleatório no campo de texto Lanch Screen File. Eu nem tenho um arquivo de tela de lançamento ... O XCode é tão buggy.

atualizar

Embora isso o conserte no simulador (ainda muito estranho e inesperado) ao fazer o upload de um binário no iTunes Connect, ele falhará por não encontrar um arquivo LanchScreen com o nome "random-name"


Direito seu trabalho para o iphone x. mas não está funcionando para outros dispositivos bro.
— Govaadiyo

Sim Sim! isso corrige no xcode. Obrigado! Isso é bom o suficiente para testar. Comprará um iphone X real para evitar o problema do xcode no futuro para testar.
— Phyllis Sutherland

5

Só me deparei com isso enquanto tentava atualizar um aplicativo em que eu não trabalhava há algum tempo.

No Xcode 9.4, consegui corrigir isso fazendo o seguinte:

  1. Adicione uma tela de inicialização acessando Arquivo -> Novo -> Arquivo ... -> Tela de inicialização

insira a descrição da imagem aqui

  1. Verifique se o storyboard da tela de inicialização recém-adicionado está selecionado como o arquivo da tela de inicialização em configurações do projeto.

insira a descrição da imagem aqui


1

Se você já possui uma imagem de inicialização de 1125px × 2436px, mas o aplicativo ainda não está usando a verificação em tela cheia para garantir que sua imagem seja PNG.


1

se você removeu o LaunchScreen.storyboard; Escolha o seu projeto, selecione o destino do seu projeto, Geral -> Ícones de aplicativos e Imagens de inicialização -> Iniciar arquivo de tela: Selecione aqui Main.storyboard em vez de LaunchScreen.storyboard


1

Acabei de ter esse problema ... Quando selecionei o projeto e o destino correto, havia um espaço em branco para o 'arquivo de tela de inicialização' nos ícones do aplicativo e na guia Imagens de tela. Defini-o como o LaunchScreen padrão e o problema de redimensionamento que enfrentei foi resolvido.


0

Você pode verificar se o arquivo de tela de inicialização do destino do projeto não está definido como vazio, se estiver vazio, pode causar problemas.insira a descrição da imagem aqui


selecione Laaunchscreen.storyboard no destino geral que resolvi o problema.
— Aqib Zareen 15/04
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.