Como atrasar o padrão.png?
-
20-09-2019 - |
Pergunta
Como posso adiar o carregamento do aplicativo para mostrar a tela Splash por mais tempo?
Solução
Você deve deixar o aplicativo começar como de costume, faça a primeira visualização que aparece, tenha a imagem idêntica como a tela Splash. Inicie um temporizador e substitua essa visualização pela sua visão real de raiz do aplicativo após alguns segundos.
Atrasar deliberadamente o lançamento real do aplicativo é um grande não-não.
Outras dicas
ATUALIZAÇÃO: Não, sério, não faça isso!
Ou nós a função C
sleep(9);
Colocando isso no ApplicationDidfinishlaunching: fará com que você faça uma pausa por 9 segundos, qualquer outro número inteiro também pode ser inserido.
EDIT: Eu aprendi muito no ano passado. Não faça isso. A razão é que o trampolim interrompe automaticamente o lançamento do aplicativo se demorar muito. Esse tempo é mal documentado, portanto, mesmo um segundo pode resultar na falha do aplicativo.
Esta questão é semelhante: Tela de respingos como Tap Tap Revenge 3
Basicamente, no seu ApplicationDidfinishlaunching:, adicione uma visualização de imagem sobre outras visualizações que contêm seu padrão.png.
Veja a discussão acima sobre por que você provavelmente não deve atrasar o seu aplicativo carregar dessa maneira. Mas se você tiver um cenário em que dormir por curta duração seria preferível à sobrecarga de trocar de vista, use o NSthread's SledorTimeIntervale em vez de dormir (). É mais amigável da estrutura e você tem mais controle granular ao longo da hora do sono:
[NSThread sleepForTimeInterval:0.75]
Eu tive uma situação em que o cliente teve que demonstrar a imagem de lançamento. Então, essa foi a minha solução ..
- (void)applicationDidBecomeActive:(UIApplication *)application
{
UIImageView *defaultImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default@2x.png"]];
[self.window addSubview:defaultImageView];
sleep(2);
[defaultImageView removeFromSuperview];
[defaultImageView release];
/*
Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
*/
}
Você pode usar o método de sono para obter esse resultado "
SledorTimeInterval
", Se você quiser obter o tempo de lançamento, goste:
- (void) applicationDidFinishLaunching:(UIApplication*)application
{
[NSThread sleepForTimeInterval:8.0];
}
Ele atrasará o lançamento em 8 segundos
Aviso: mas não é recomendado pela Apple, pois será o Watchdod por muito tempo para o seu aplicativo carregar, ele pode matar seu aplicativo. Mas, se você precisar, para obter algumas capturas de tela específicas ou para uso interno, você pode usar para resolver o objetivo, mas nunca no envio de aplicativos.