Question

Dans mon application iPhone, un utilisateur sélectionne un élément dans un UITableView pour choisir une ressource à afficher. La sous-classe UIViewController requise pour gérer la ressource n'est pas connue jusqu'à ce que la ressource soit extraite, ce qui peut prendre quelques secondes.

En réponse à l'action de sélection, j'appuie sur le bouton "Chargement". voir le contrôleur sur la pile de navigation. Ce contrôleur présente une vue avec un UIActivityIndicatorView avec éventuellement d'autres informations d'état et lance le téléchargement de la ressource sélectionnée. Dans cette vue, l'utilisateur peut annuler le téléchargement, auquel cas je reviens à la liste des ressources. Cependant, si la ressource arrive, un nouveau contrôleur de vue approprié est créé, correspondant à son type.

Voici où cela devient collant. Si j'applique la nouvelle vue spécifique au type sur la pile de navigation, la commande "Chargement en cours" la vue est toujours dans la pile; évidemment, une fois le chargement terminé, il n'est pas nécessaire de "revenir en arrière". à cette vue. J'ai simplement essayé d'ajouter la vue spécifique au type en tant que sous-vue du "chargement". vue, mais mon contrôleur spécifique au type ne figure pas dans la pile de navigation; il ne dispose donc pas d'un [contrôleur de navigation automatique] pour une navigation plus poussée.

Comment puis-je "remplacer" la vue actuelle sur la pile de navigation avec une nouvelle? Ou, plus généralement, comment puis-je afficher l'activité / les progrès lorsque je ne sais pas encore quel contrôleur sera utilisé pour afficher la ressource extraite?

J'ai trouvé le mode "HUD" plutôt cool. classes d’indicateurs de progression, mais je ne souhaite pas que l’indication de progression apparaisse en haut de la liste des éléments sélectionnés. Au lieu de cela, je souhaite que l'utilisateur se rende compte qu'il est " parti " vers un nouvel espace qui attend d'être rempli.

Je suis assez nouveau dans ce domaine, alors j'espère avoir au moins formulé la question de manière cohérente. Merci pour toute aide que n'importe qui peut fournir.

Était-ce utile?

La solution

Mise à jour: En fait, il serait probablement préférable d’afficher votre " chargement " voir comme une vue modale. Consultez cette question pour quelques exemples. .

Vous devriez pop le " chargement " ; voir le contrôleur et appuyer sur le " spécifique " voir le contrôleur une fois que ce dernier a été téléchargé et attribué. Jouez sans animer ni l'une ni l'autre de ces actions pour voir ce qui donne la meilleure expérience.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top