La méthode -drawRect:
d'UIView doit-elle être dessinée sur le thread principal ou est-ce que CADisplayLink peut appeler -setNeedsDisplay
sur une vue personnalisée dans une boucle d'exécution différente?Est-ce que -drawRect de UIView: doit être appelé sur le thread principal?
0
A
Répondre
2
Tous les appels UIKit doivent être effectués sur le thread principal.
10
As of iOS 4.0, vous pouvez dessiner dans un -drawRect:
de UIView sur un fil de fond:
- Dessin à un contexte graphique dans UIKit est maintenant thread-safe. Plus précisément:
- Les routines utilisées pour accéder et manipuler le contexte graphique peuvent désormais gérer correctement les contextes résidant sur des threads différents.
- Le dessin de chaîne et d'image est désormais sécurisé. L'utilisation de la couleur et des objets de police dans plusieurs threads est maintenant sûr à faire.
Voir aussi leurs commentaires dans Technical Q&A QA1637 concernant ce dans iOS 4.0.
Toute version d'iOS antérieure à ce dessin doit figurer dans le thread principal.
Questions connexes
- 1. MKMapView doit être initialisé sur le thread principal
- 2. Est-ce que [reloaddata de table] doit être appelé uniquement à partir du thread principal?
- 3. DrawRect de UIView n'est pas appelé
- 4. UIView sous-classe: drawRect pas appelé
- 5. Exception dans le thread "principal" java.lang.IllegalArgumentException: n doit être positif
- 6. Is - [UIView (MyOwnCategory) drawRect:] n'a jamais appelé le 3.1.3?
- 7. Pourquoi invalider doit être appelé par le thread d'interface utilisateur
- 8. UIView setNeedsDisplay Pas sur le fil principal?
- 9. qui doit être appelé le système distribué
- 10. Obtention du verrou Web à partir d'un thread autre que le thread principal ou le thread Web. UIKit ne doit pas être appelé à partir d'un fil secondaire
- 11. MKAnnotationView drawRect: ne pas être appelé
- 12. UIView drawRect vs initWithFrame
- 13. Core Graphics-drawRect: ne pas être appelé assez souvent
- 14. drawRect ne pas être appelé sur sous-vue ajoutée
- 15. DrawRect n'est pas appelé dans un simple UIView personnalisé
- 16. drawRect: appelé sur plusieurs threads lors de l'utilisation d'un CATiledlayer?
- 17. taille de UIView basé sur drawRect
- 18. drawRect ne pas être appelé si nécessaire sous OS X
- 19. Quartz iPhone drawRect pas appelé
- 20. Benchmark UIView drawRect: méthode
- 21. filetage wpf, le thread doit être STA
- 22. Actualiser UIView pour drawRect?
- 23. UIView drawRect est saccadé
- 24. Dispatcher.Invoke se bloque lorsque le thread principal appelé Thread.Join
- 25. UIView drawRect fuite avec CoreText
- 26. iOS UIView drawRect redimensionner l'animation
- 27. "setURLToShare" doit être appelé pour que l'appel à l'action fonctionne
- 28. iOS - drawRect: appelé deux fois
- 29. IKImageBrowserView "--ImageKit Erreur: reloadData appelé dans le thread non principal"
- 30. Exécution de NSOperation sur le thread principal
Comme je l'explique dans ma réponse, à partir de iOS 4.0, vous pouvez en effet dessiner à un UIView dans un fil de fond. –