Desarrollo de iPhone: restrinja la interacción del usuario con la aplicación y muestre un indicador de progreso

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

  •  22-07-2019
  •  | 
  •  

Pregunta

Tengo un caso en el que extraigo información de un servidor. Mi aplicación tiene una barra de pestañas y botones de navegación. Quiero que la aplicación muestre un indicador de progreso y desactive todos los demás controles para que el usuario no pueda saltar mientras se extraen los datos del servidor. ¿Cómo puedo lograr esto?

Un enfoque que tengo en mente es mostrar una vista transparente con una ventana de progreso (al igual que la ventana de alerta de mensaje, que permite al usuario interactuar solo con la ventana de alerta de mensaje). Necesito ayuda para implementar este enfoque.

Actualmente, cuando la información / datos se extraen del servidor, agrego un UIActivityView a la subvista y empiezo a animarlo. Pero esto no restringe al usuario de navegar a otras partes de la aplicación.

¿Fue útil?

Solución

Stephan sugirió el uso de UIAlertView con UIProgressView o UIActivityIndicatorView. Esta solución funcionó para mí, pero como se discutió con algunos de los otros miembros de la comunidad de desarrolladores de iPhone, no se recomienda este enfoque.

El enfoque recomendado es usar una nueva vista y establecer su valor de transparencia en alfa 7 u 8, establecer su fondo en negro y agregar UIProgressView o UIActivityIndicatorView en esta vista y usar esta nueva vista para mostrar el progreso. Ningún truco está involucrado en el uso de esta técnica. Si bien, en caso de agregar UIActivityIndicatorView a UIAlertView, en realidad está realizando una operación no documentada (que no se recomienda).

Gracias.

Otros consejos

Simplemente cree un UIAlertView sin botones, evitará cualquier interacción del usuario.

Puede agregar un UIProgressView o UIActivityIndicatorView a su alerta si lo desea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top