Estou tentando fazer com que uma imagem seja exibida como a tela de inicialização do meu arquivo Launch Screen.storyboard, no entanto, a imagem nunca é exibida. Tenho etiquetas que aparecem bem, mas a imagem não aparece.
É assim que a tela de inicialização fica no arquivo Launch Screen.storyboard:
No entanto, quando eu executo o aplicativo no simulador (assim como no dispositivo físico), é isso que aparece:
Como você pode ver, o rótulo "Teste" aparece bem, mas a imagem não é exibida. Realmente não sei por que isso está acontecendo e nada que eu tente parece funcionar. Se alguém tiver alguma idéia de como corrigir isso, seria muito apreciado.
Respostas:
Após reiniciar o Xcode, limpe a compilação e várias outras sugestões no SO sobre esse problema. O que realmente consertou para mim foi uma reinicialização completa do dispositivo. (Eu perdi mais de uma hora nisso)
Suponho que isso apenas mostre que o velho ditado: você desligou e ligou novamente ainda é verdadeiro para os gadgets mais recentes!
Como reiniciar o iPhone XS ou iPhone XS Max
fonte
Eu estava brincando com isso por horas também. Mas eu encontrei a solução agora. Você precisa adicionar a imagem ao seu projeto e também aos assets.xcassets via arrastar e soltar.
fonte
launch
. Mas ainda não funcionou. Eu tive que renomear os arquivos de imagem para launch.png, [email protected] e [email protected], adicioná-los ao projeto, adicioná-los como um ativo chamadolaunch
e, em seguida, funcionou. Graças a Apple para fazer a mais simples das coisas desnecessariamente complexos ¬_¬Tinha o mesmo problema, adicionar a imagem às "Fases de construção -> Copiar recursos do pacote" corrigiu-a.
fonte
Siga as etapas abaixo,
Se não estiver funcionando, exclua os dados derivados. Preferência Xcode-> Localtab-> Dados derivados. Em seguida, siga as etapas acima.
fonte
Isso aconteceu comigo e me deixa louco, além de me fazer perder alguns minutos até que eu descubra.
Então, como foi dito antes:
Na tela de design, ele não aparecerá, mas quando você executar o aplicativo, ele será mostrado.
Espero que possa ajudar!
fonte
Muito frustrante. Solução que finalmente funcionou:
Faça reinicialização do dispositivo
Excluir aplicativo
Instale o aplicativo do Xcode
fonte
Por fim, reinicie o telefone funciona para mim!
Passei horas nesta questão. Tentou alterar o nome das imagens, excluir todos os recursos da imagem, modificar info.plist, reiniciar o Xcode e até tentou definir todos os atributos das imagens (o que você pode ver como eu estava desesperada).
fonte
Esse problema está relacionado ao Assets.xcassets para corrigi-lo. Você deve adicionar a imagem como recurso, mas não na pasta xcassets, e deve funcionar perfeitamente
fonte
No meu caso, redefinir o conteúdo e as configurações do simulador corrigiu o problema.
fonte
Eu enfrentei o mesmo problema.
fonte
Parece que há algum problema com o cache de recursos no xCode. Teve o mesmo problema, reiniciou o xCode e tudo funcionou bem depois disso.
fonte
Reinicie seu dispositivo e limpe os dados derivados do código x
fonte
Depois de tentar tudo em vários threads do StackOverflow, aqui está o que funcionou para mim:
(Talvez seja necessário limpar o produto ou dados derivados para atualizar, mas eu não precisei)
fonte
Eu tive esse problema depois de adicionar uma imagem ao projeto e derrubar o dispositivo que o problema resolveu
fonte
Estava mudando a imagem de plano de fundo da tela inicial e a nova imagem não estava aparecendo (reagir ao projeto nativo).
Seguindo as respostas dos outros.
Eu fiz todo o abaixo e foi corrigido:
fonte
Bem, a partir de agora existe um dispositivo de retina disponível e eu ignorei a
@1x
imagem noAssets.xcassets
.No meu caso, tenho o logotipo do aplicativo na tela inicial, que não é visível quando executo o aplicativo.
Depois de perder tanto tempo eu descobri que eu só forneceu
@2x
e@3x
imagens para que a imagem do logotipo.fonte
Você deve certificar-se de que o nome do arquivo da sua imagem tenha um formato como .png ou .jpg no final, caso contrário não funcionará. Além disso, antes de adicionar sua imagem, você deve verificar se o arquivo de imagem está na pasta "Assets.xcassets" do seu projeto. Isso pode ser feito com um simples arrastar e soltar. Além disso, ao adicionar sua imagem ao storyboard, verifique se o nome da imagem no canto superior esquerdo também corresponde ao nome real do arquivo de imagem. Eu também tentaria investigar as restrições. Espero que isto ajude. Boa sorte com seu aplicativo.
fonte
Passei horas com esse problema antes de finalmente perceber meu erro. Quando você adiciona uma imagem a um UIImageView, ele usa apenas o nome da imagem. Se suas imagens estiverem em uma pasta diferente do seu storyboard, elas aparecerão no xcode, mas não ao executar o aplicativo. Você deve adicionar o prefixo do caminho do arquivo apropriado, por exemplo, images / image.png. Agora ele aparecerá como um ponto de interrogação azul no xcode, mas funcionará no aplicativo.
fonte
Apenas para adicionar meus US $ 0,02 a esta pergunta; Resolvi isso usando imagens PNG em vez de imagens JPG / JPEG.
Depois de converter as imagens em PNG e processá-las para reduzir um pouco o tamanho, tudo funcionou bem.
fonte
Depois de investir muito tempo, obtive a solução: -
fonte
Eu enfrentei o mesmo problema. Tentei soluções diferentes para isso, mas nada provou ser útil. Percebi então que a imagem não estava visível apenas quando instalei o aplicativo diretamente no dispositivo e ele ainda está conectado ao xcode. Se eu desconectá-lo e abrir o aplicativo, a imagem estava visível conforme o esperado. Pode ser um bug do xcode.
fonte
Tentei limpar o projeto, remover o png, remover as restrições não funcionou para mim.
Acabei de fazer mais uma cópia da imagem e renomeei a cópia, excluí a imagem antiga e adicionei a nova imagem (Idem, com o nome alterado). Acabei de dar essa imagem e funcionou para mim.
Também não estou usando o Assets.xcassets, usando a imagem em uma pasta.
fonte
Eu tentei muitas coisas com isso (este tópico por si só parece ter um milhão de idéias e metade delas são conflitantes). O problema para mim foi que, quando eu fazia coisas como reiniciar o dispositivo e o Xcode, a imagem era exibida por algumas sessões do aplicativo e depois parava (não faço ideia do porquê, mas WOW era irritante) .
Após inúmeras horas, descobri que a resposta da AG neste tópico é a correta. A única coisa que eu estava fazendo errado era que estava criando um novo conjunto de imagens no xcassets, mas ainda estava usando o nome da imagem no UIImageView dentro do storyboard em vez de usar o nome do conjunto de imagens.
Para esclarecer, o que você faria é criar um novo conjunto de imagens e nomeá-lo como "Launch-Defaults" e adicione suas imagens a ele. Em seguida, no UIImageView dentro do storyboard, você usa a imagem "Launch-Default" (sem incluir uma extensão, pois não há nenhuma, pois esse é um conjunto de imagens).
Quando você faz tudo isso, a imagem deve aparecer corretamente dentro do seu storyboard. Algumas pessoas dizem que a imagem será exibida em branco se você não usar a extensão (.jpg ou .png), mas presumo que seja porque elas não estão usando o nome do conjunto de imagens. Outros dizem que você precisa usar uma extensão como .png ou .jpg, mas a chave é criar o conjunto de imagens dentro do xcassets e depois usá-lo dentro do storyboard. Quando feito corretamente, não deve haver estranheza, como uma imagem que não aparece ou a tela de inicialização funcionando apenas algumas vezes (exigindo uma reinicialização).
fonte
No meu caso particular, a tela inicial funcionou para o simulador e outros dispositivos, mas parou de funcionar para um dispositivo específico. Isso me levou a acreditar que havia alguns dados de armazenamento em cache mantidos pelo xcode (v10 e iPhone 7 v12.1).
Excluí os dados derivados em:
~/Library/Developer/Xcode/DerivedData/
apenas esvaziando o conteúdo da pasta, não excluindo a pasta. Reiniciei o mac e o iPhone, limpei e reconstruí o projeto, e agora ele está aparecendo.Não tenho certeza se tudo isso era necessário, mas não queria perder mais tempo para reduzi-lo, então a abordagem da marreta acima funcionou para mim. Mas é claro que sempre depende da sua situação específica - a minha era específica do dispositivo; para outros, pode ser a imagem real ou o layout da tela de inicialização etc.
fonte
O meu problema.
Motivo: renomeei as imagens depois de arrastá-lo para o Xcode. Solução: não renomeie as imagens depois de arrastá-lo para o Xcode. Cria problemas para entender o Xcode. Renomeie as imagens antes de arrastar / adicionar ao Xcode.
Espero que te ajude!
fonte
Eu acabei de descobrir isso. Minha imagem de inicialização não estava aparecendo, eu recebo uma tela branca ao iniciar em um dispositivo (iPhone 6, 7+) ou testFlight. Correção: renomeou "Landing_screen.png" para apenas "Landing_screen" removendo a parte .png. O ícone da imagem no Xcode mudou para o ícone branco e no storyboard da tela de lançamento, a imagem aparece como um ponto de interrogação agora. A imagem Iniciar agora aparece e não a tela branca. Minha instalação: estou usando o Swift 3.1 com o Xcode 8.3.1. No LaunchScreen.storyboard, adicionei uma visualização de imagem simples e estiquei a imagem para caber no controlador de visualização. Defino as restrições de layout automático Espaço superior / inferior / à esquerda / à direita como superview para 0 - veja a imagem abaixo:
fonte
No meu caso, aconteceu que eu ainda tinha algumas visualizações vinculadas ao controlador de visualização que agora era apenas um controlador de visualização básico. Se eu clicar com o botão direito do mouse na visualização, posso ver as saídas com avisos, no entanto, os avisos não apareceram no Xcode, e é por isso que estava tendo problemas para encontrá-los.
fonte
Esse é um problema de armazenamento em cache no XCode / iOS, mas há uma correção simples para isso: basta renomear o arquivo dentro de Assets.xcassets, para que o cache seja regenerado.
fonte
Meu primeiro erro foi que eu criei um .storyboard normal, o renomeei e o defini como tela de inicialização nas configurações do projeto. Neste caso, tive problemas de imagem. Parece que algumas configurações estão faltando nesse caso, então, então eu apenas criei um novo arquivo via file-> new e peguei diretamente a "Tela de Lançamento" e funcionou.
Eu também tinha em mente que, por algum motivo, essas restrições de layout não são suportadas na tela de inicialização. Talvez tenha sido assim no começo, não tenho certeza, mas agora as restrições devem funcionar.
Talvez isso ajude alguém.
fonte
Eu enfrentei esse mesmo problema ao usar o launch-storyboard para mostrar a tela inicial e, após pesquisas, descobri que a imagem que defini no launch-storyboard é de tamanho diferente e configurei a visualização de imagem maior que o tamanho real da imagem.
Portanto, a solução que encontrei é definir o tamanho do conteúdo da visualização da imagem como tamanho adequado ou definir o tamanho da visualização da imagem como tamanho da imagem.
Por exemplo, se o tamanho da sua imagem com tamanho 1x for 200X200, a visualização da imagem deve ser 200X200 e você resolverá esse problema.
Como se você definir um tamanho de visualização da imagem maior que a imagem, a imagem será engomada e isso não será permitido.
Se você ainda tiver alguma dúvida, por favor comente aqui e pergunte
fonte