Ir para conteúdo
Visualizar no app

Uma forma melhor de navegar. Saiba mais.

MM Fórum

Um app em tela cheia na sua Tela de Início com notificações push, avisos e mais.

Para instalar este app no iOS/iPadOS
  1. Toque no ícone de Compartilhamento no Safari
  2. Role o menu e toque em Adicionar à Tela de Início.
  3. Toque em Adicionar no canto superior direito.
Para instalar este app no Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Mensagem de reload enquanto processa

Featured Replies

Postado

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

  • Respostas 6
  • Visualizações 956
  • Criado
  • Última resposta

Top Postadores Neste Tópico

Postado

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.

Postado
  • Autor

isto mesmo

Activity Indicator View,

como implementar isto?

dario

Postado

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!

Postado
  • Autor

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

Postado
  • Autor

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!

Postado

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/

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…

Quem Está Navegando 0

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

Conta

Navegação

Buscar

Buscar

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.