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.