Desenvolvimento do iPhone - restrinja a interação do usuário com o aplicativo e mostre um indicador de progresso

StackOverflow https://stackoverflow.com/questions/446077

  •  22-07-2019
  •  | 
  •  

Pergunta

Eu tenho um caso em que retiro informações de um servidor. Meu aplicativo possui uma barra de guias e botões de navegação. Quero que o aplicativo mostre um indicador de progresso e desative todos os outros controles para que o usuário não possa pular enquanto os dados estão sendo retirados do servidor. Como posso conseguir isso?

Uma abordagem que tenho em mente é mostrar uma visão transparente com uma janela de progresso (bem como a janela de alerta de mensagem - que permite ao usuário interagir apenas com a janela de alerta de mensagens). Preciso de ajuda para implementar essa abordagem.

Atualmente, quando as informações/dados estão sendo extraídos do servidor, adiciono uma View Uiactivity ao subview e começo a animá -los. Mas isso não restringe o usuário de navegar para outras partes do aplicativo.

Foi útil?

Solução

Stephan sugeriu o uso do UIALERTVIEW com UIPROGRESSVIEW ou UIACTIVIDADEIDICATATERVEW. Essa solução funcionou para mim, mas, como discutido com alguns dos outros membros da comunidade de desenvolvedores de iPhone, essa abordagem não é recomendada.

A abordagem recomendada é usar uma nova visualização e definir seu valor de transparência como Alpha 7 ou 8, definir seu plano de preto e adicionar uiprogressview ou uiactivityIndicatorView nesta visualização e usar essa nova visualização para mostrar progresso. Nenhum hack está envolvido no uso dessa técnica. Enquanto, na adição de uiactivityIndicatorView a um UIALERTVIEW, você está realmente executando uma operação não documentada (que não é recomendada).

Obrigado.

Outras dicas

Basta criar um uialertview sem botões, ele impedirá qualquer interação do usuário.

Você pode adicionar um UIPROGRESSVIEW ou UIACTIVIDADEIDICATATERVIEW ao seu alerta, se desejar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top