Comment afficher un indicateur de progression de superposition/HUD sur l'iPhone?
Je veux afficher un indicateur de progression dans une semi-transparent de la boîte qui flotte au-dessus d'une table. En d'autres termes, lorsque le contenu de la table sont en cours de téléchargement, j'ai envie d'une "mise à Jour" de l'étiquette à apparaître sur elle.
J'ai vu cela dans plusieurs applications dans le magasin, notamment Facebook (lorsque vous secouez pour recharger) et Darkslide.
Mon premier réflexe est de créer une semi-transparent UIView, placez un UILabel et un UIProgressIndicatorView à l'intérieur, et l'ajouter à la vue de la hiérarchie... mais où? Une UIView ne peuvent pas se chevaucher ses frères et sœurs, je ne peux donc pas en faire une sous-vue de la fenêtre. je ne peux pas en faire une sous-vue de la table, car alors il sera défiler vers le haut et vers le bas avec le contenu de la table.
J'ai pensé à la création d'une nouvelle UIWindow, mais la documentation indique fondamentalement ne pas.
Je sais CALayers peuvent se chevaucher les uns les autres, alors que ce serait une option, mais je ne peux pas mettre un indicateur de progression à l'intérieur d'un CALayer, puis-je? Dois-je roule mes propres indicateur de progrès qui anime un CALayer au lieu d'une UIView?
Je ne suis pas intéressé à entendre parler de Api privées.
Edit: La question est basée sur une mauvaise hypothèse. NSViews (sur Mac OS X) ne peuvent pas se chevaucher, mais UIViews sur l'iPhone peut.
- Vous pouvez vous épargner un peu de travail à l'aide de la MBProgressHUD si elle répond à vos besoins.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez certainement se chevauchent points de vue. Il suffit d'ajouter la superposition transparente comme une sous-vue dans la tableView.
De UIView de la documentation:
J'ai juste posté un HUD version de la mine :
https://github.com/y0n3l/LGViewHUD
vous pouvez obtenir ce résultat très facilement :
Une fois que la tâche est terminée, il suffit d'invoquer
et c'est tout !
Il y a aussi le très célèbre MBProgressHUD & SVProgressHUD
Ils sont de la même nature que @yonel 's de la PALETTE de
Exemple
MBProgressHUD semble maintenant de plus en plus populaire (si l'on se base sur github étoiles)
Tout objet qui vit dans votre MainWindow.xib pouvez obtenir l'accès à la fenêtre de l'application via une prise de courant. Le délégué d'application de la norme projets a déjà, mais vous voudrez probablement ajouter de la sortie de votre vue-contrôleur qui doit montrer le progrès de superposition.
Depuis dans UIKit la UIWindow est une UIView (contrairement à NSWindow vs NSView dans le Cacao), vous pouvez simplement ajouter votre progression vue comme une sous-vue de la fenêtre:
[window addSubview:progressView];
progressView couvrira l'ensemble de l'INTERFACE utilisateur de l'application.
Cet exemple utilise la technique de la fermeture de l'Défaut.png image splash:
http://michael.burford.net/2008/11/fading-defaultpng-when-iphone-app.html
Par rapport à la récente édition, comme de MacOS X 10.5 Leopard NSView chevauchement est déterministe (ils ont toujours susceptibles de se recouper, vous venez de recevoir indéterminée résultats), mais il a un autre avant-arrière de la commande, selon que le point de vue est la couche adossés ou non. C'est probablement un effet secondaire de l'intégration de CALayers dans l'OS X système de vue.
Réponse: Pommes docs sont assez impressionnant.
http://developer.apple.com/iphone/library/featuredarticles/ViewControllerPGforiPhoneOS/Introduction/Introduction.html
Actuellement, je suis en cours de pose transparent points de vue (au moins sur le dos d'une serviette à ce point). Vous pouvez les utiliser pour organiser des boutons de menu, placez-les dans l'espace 3D, il suffit de faire la noix.
Je veux dire, est-ce un religieux voies ou quoi? Des choses incroyables de la les gars, à la PROCHAINE: