iPhone UIActivityIndicatorView pas de démarrage ou d'arrêt
Quand je l'appelle startAnimating sur un UIActivityIndicatorView, il ne démarre pas. Pourquoi est-ce?
[Ceci est un blog de style auto-répond à la question. La solution ci-dessous fonctionne pour moi, mais peut-être il ya d'autres qui sont mieux?]
Vous souhaitez peut-être clair, vous publiez un blog de style auto-répond à la question.
OriginalL'auteur jonnyv | 2009-12-04
Vous devez vous connecter pour publier un commentaire.
Si vous écrivez du code comme ceci:
Vous n'êtes pas de donner de l'INTERFACE utilisateur le temps de démarrer et d'arrêter l'indicateur d'activité, étant donné que votre calcul est sur le thread principal. Une solution est d'appeler startAnimating dans un thread séparé:
Ou, vous pourriez mettre votre calcul sur un thread séparé, et attendre qu'elle se termine avant d'appeler stopAnimation.
cette méthode démarre un nouveau thread..??? si oui, alors où et comment l'arrêter..??
Merci beaucoup pour la solution..il m'aide..
Cela donnerait des erreurs bizarres (ou bloquer) depuis
startAnimating
doit être appelée sur le thread principal. La deuxième option de faire le calcul sur un autre thread est la bonne approche.OriginalL'auteur jonnyv
J'ai l'habitude de faire:
Je suis en train de faire la même chose, avec la différence que j'utilise -(void)performBlock:(void (^)(void))bloc afterDelay:(NSTimeInterval)délai; à partir de forrst.com/posts/Delayed_Blocks_in_Objective_C-0Fn alors que j'ai spécifié 0.0, aucun indicateur de progression s'affiche, et de 0,01 est le temps entre les lueurs d'une 100Hz moniteur.
Merci pour la solution...
OriginalL'auteur Frank Schmitt
Tous les éléments de l'INTERFACE utilisateur nécessitent, pour être sur le thread principal
alors:
OriginalL'auteur bpolat
Si nécessaire, swift 3 version:
OriginalL'auteur William T.
Ok, désolé, on dirait que je suis allé à travers mon code d'être aveugle.
J'ai terminé l'Indicateur comme ceci:
Ainsi, après un run, le activityIndicator a été complètement supprimé.
OriginalL'auteur Daniel
Cette question est tout à fait utile. Mais une chose qui manque dans la réponse post est , chaque chose qui prend beaucoup de temps pour s'exécuter dans le thread séparé pas le UIActivityIndicatorView. De cette façon, il ne sera pas cesser de répondre à l'interface utilisateur.
OriginalL'auteur Black Tiger