Exibir um ícone de carregamento enquanto um recurso de rede está sendo baixado
-
03-07-2019 - |
Pergunta
Eu estou tentando exibir um ícone de carregamento enquanto meu iPhone downloads de aplicativos um recurso de rede, mas eu não consigo descobrir como fazê-lo aparecer corretamente.
Eu procurei ao redor e encontrei alguns detalhes sobre a classe UIActivityView
, mas o código fonte de exemplo disponível não funcionou, ea documentação é uma espécie de concisa.
Alguém poderia fornecer um exemplo simples de como usar essa classe?
Solução
Assumindo que você tem um controlador de vista configurar, e gostaria de adicionar um UIActivityIndicator
a ele, aqui está como você pode fazê-lo:
(assumir que você tem uma variável de membro chamado indicator
, que você pode usar mais tarde para limpar)
Por sua interface (arquivo .h):
UIActivityIndicator *indicator;
Para a sua implementação (arquivo m):
iniciar a animação
CGRect b = self.view.bounds;
indicator = [[UIActivityIndicator alloc] initWithActivityIndicatorStyle:
UIActivityIndicatorStyleWhite];
//center the indicator in the view
indicator.frame = CGRectMake((b.size.width - 20) / 2, (b.size.height - 20) / 2, 20, 20);
[self.view addSubview: indicator];
[indicator release];
[indicator startAnimating];
parar a animação
[indicator removeFromSuperview];
indicator = nil;
Outras dicas
Ben resposta parece muito semelhante ao que estou fazendo - o seu palpite sobre o fio é provavelmente precisas. Você está usando NSURLConnection
para lidar com o seu download? Se assim for, você está usando a versão síncrona ou assíncrona? Se é a versão síncrona e você está simplesmente iniciar e parar a animação em torno da chamada síncrona, em seguida, a interface do usuário não está atualizando até depois do que você parou a animação.