Ir para conteúdo
  • Cadastre-se

Mensagem de reload enquanto processa


Posts Recomendados

amigos,

no meu sisteminha para iOS tem um botao o qual faz um processamento

por exemplo

for ...

... processamento...

...

supundo que o processamento fique demorando 30 segundos gostaria de apresentar na tela uma mensagem de aguarde... ou reload... enquanto o processamento eh realizado

no cydia por exemplo quando ele se atualiza vem a mensagem tipo arlet escritorio reload ate terminar o processo

como fazer isto??

Dario

Link para o comentário
Compartilhar em outros sites

  • Respostas 6
  • Criado
  • Última resposta

Top Postadores Neste Tópico

Não sei se entendi exatamente o que vc quer, mas se for o que estou pensando, vc pode usar um Activity Indicator View, pra mostrar aquela rodinha de atualização enqanto seu processo carrega, ou um Progress View, pra mostrar o progresso em uma barrinha que é preenchido ao longo do processo.

Link para o comentário
Compartilhar em outros sites

isto mesmo

Activity Indicator View,

como implementar isto?

dario

Tem também o networkActivityIndicator. É a mesma coisa que o activityIndicatorView, mas é muito mais simples de usar e roda na status bar:

Para começar a rodar:

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

Para parar de rodar:

[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

Mas se você mesmo assim estiver querendo o Activity Indicator View, faça assim:

No seu .h cria a view:

UIActivityIndicatorView *indicatorView;

e implementa no .m:

indicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[spinner setCenter:CGPointMake(320.0/2.0, 480.0/2.0)]; // Isso vai posicionar o spinner no meio da tela
[self.view addSubview:indicatorView];

Em vez de colocar no centro da tela, você pode botar o spinner onde você quiser:

[spinner setCenter:CGPointMake(/*posição x*/, /*posiçao y*/)];

Até agora a gente só criou a view a alocou ela. Agora pra fazer o spinner aparecer e começar a girar:

[indicatorView startAnimating];

E quando você quiser que pare de girar (geralmente quando o processo termina):

[indicatorView stopAnimating];

Anexei ao post um arquivo com um projeto do XCode com tudo pronto pra você dar uma olhada.

Baixe Aqui: Spinner.zip

Espero ter ajudado. Abraços!

Link para o comentário
Compartilhar em outros sites

testei os 2 caminhos mas para minha surpresa me deparei com um problema

o processo em questão é um acesso direto ao banco de dados postgreSQL

então antes do processo ligo o UIActivityIndicatorView e ao final do processo desligo

mas não sei porque quando ligo o UIActivityIndicatorView e o processo começa ele não apresenta na tela, acho que o processo em questão não deixa a tela atualizar, parece que trava e ao final do processo ele faria o stop

tirei o stop e notei que ao final do processo o UIActivityIndicatorView fica na tela, existe forma de forçar ele ser apresentado na tela antes de começar o processo, tipo if apresentou na tela começa o processo

dario

Link para o comentário
Compartilhar em outros sites

Para simular meu problema, acrescente o seguinte codigo no final do viewDidLoad

for (int i=0; i<10000; i++) {

NSLog(@"Teste... %d", i);

}

Note que a animação só vai aparecer quando terminar o processo de contar ate 10mil

No caso eu quero mostrar a animação enquanto conta os 10mil

Tem como fazer?

Eu vi também umas mensagem que da pra escrever, no cydia ele escreve reload e fica pensando enquanto termina o processo

Como se faz?

Tem também o networkActivityIndicator. É a mesma coisa que o activityIndicatorView, mas é muito mais simples de usar e roda na status bar:

Para começar a rodar:

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

Para parar de rodar:

[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

Mas se você mesmo assim estiver querendo o Activity Indicator View, faça assim:

No seu .h cria a view:

UIActivityIndicatorView *indicatorView;

e implementa no .m:

indicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[spinner setCenter:CGPointMake(320.0/2.0, 480.0/2.0)]; // Isso vai posicionar o spinner no meio da tela
[self.view addSubview:indicatorView];

Em vez de colocar no centro da tela, você pode botar o spinner onde você quiser:

[spinner setCenter:CGPointMake(/*posição x*/, /*posiçao y*/)];

Até agora a gente só criou a view a alocou ela. Agora pra fazer o spinner aparecer e começar a girar:

[indicatorView startAnimating];

E quando você quiser que pare de girar (geralmente quando o processo termina):

[indicatorView stopAnimating];

Anexei ao post um arquivo com um projeto do XCode com tudo pronto pra você dar uma olhada.

Baixe Aqui: Spinner.zip

Espero ter ajudado. Abraços!

Link para o comentário
Compartilhar em outros sites

Para simular meu problema, acrescente o seguinte codigo no final do viewDidLoad

for (int i=0; i<10000; i++) {

NSLog(@"Teste... %d", i);

}

Note que a animação só vai aparecer quando terminar o processo de contar ate 10mil

No caso eu quero mostrar a animação enquanto conta os 10mil

Tem como fazer?

Eu vi também umas mensagem que da pra escrever, no cydia ele escreve reload e fica pensando enquanto termina o processo

Como se faz?

Tente criar uma outra thread, uma roda a animação e a outra roda o processo.

Veja o tópico "Utilizando Threads no iPhone SDK – iOS" no link abaixo...

http://2mnsoftware.wordpress.com/category/intermediario/

Link para o comentário
Compartilhar em outros sites

Participe do debate

Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.

Visitante
Responder este tópico…

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Limpar editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.



  • Estatísticas do Fórum

    • Total de Tópicos
      56.1k
    • Total de Posts
      465.6k
×
×
  • Criar Novo...