Pregunta

En mi aplicación para iPhone, un usuario selecciona un elemento de una UITableView para elegir un recurso para ver. La subclase UIViewController requerida para manejar el recurso no se conoce hasta que se recupera el recurso, lo que puede demorar unos segundos.

En respuesta a la acción de selección, presiono un " cargando " ver controlador en la pila de navegación. Ese controlador presenta una vista con una UIActivityIndicatorView junto con (posiblemente) otra información de estado, e inicia la descarga del recurso seleccionado. Desde esta vista, el usuario podría cancelar la descarga, en cuyo caso volvería a la lista de recursos. Sin embargo, si llega el recurso, se crea un nuevo controlador de vista apropiado correspondiente a su tipo.

Aquí es donde se pone pegajoso. Si presiono la nueva vista específica de tipo en la pila de navegación, la " cargando " la vista todavía está en la pila; obviamente, una vez que se completa la carga, no hay necesidad de "volver" a esa vista. Intenté simplemente agregar la vista específica del tipo como una subvista de la carga " cargando " vista, pero eso no lleva mi controlador específico de tipo a la pila de navegación, por lo que no tiene un [self navigationController] para una mayor navegación.

¿Cómo puedo " reemplazar " la vista actual en la pila de navegación con una nueva? O, de manera más general, ¿cómo puedo mostrar actividad / progreso cuando aún no sé qué controlador se usará para mostrar el recurso que se está recuperando?

He encontrado muy bien "HUD" clases de indicador de progreso, pero no quiero que la indicación de progreso aparezca en la parte superior de la lista de elementos seleccionados. En cambio, quiero que el usuario perciba que se han "ido". a un nuevo espacio que está esperando ser llenado.

Soy bastante nuevo en esto, así que espero haber formulado la pregunta de manera coherente. Gracias por cualquier ayuda que alguien pueda brindar.

¿Fue útil?

Solución

Actualización: En realidad, probablemente sería mejor mostrar su " cargando " ver como una vista modal. Consulte esta pregunta para ver algunos ejemplos .

Debería pop the " loading " ; controlador de vista y push el " específico " ver controlador una vez que este último ha sido descargado y asignado. Juega con NO animar una o ambas acciones para ver qué ofrece la mejor experiencia.

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