Comme vous le savez, quand je joue film avec MPMoviePlayerController, MoviePlayer devrait montrer un activityIndicatorView dans le centre de la moviePlayer'view. Maintenant, j'ai mis un activityIndicatorView personnalisé dans mon programme, je veux juste cacher ou supprimer le activityIndicatorView de MPMoviePlayController, puis-je faire cela?Cacher ActivityIndicator dans moviePlayerController
Répondre
oui nous pouvons!
Je suppose que ce que vous voulez faire est de montrer la idicator d'activité alors que votre film est en cours de chargement, pas pendant qu'il est en cours de lecture? Je suppose juste que et continuez ...
dans le SDK 3.2 et au-dessus, l'ensemble MPMoviePlayerController (et MPMoviePlayerViewController) sont beaucoup mieux que sur les versions précédentes. Si vous utilisez encore MPMoviePlayerController vous pourriez envisager de passer à MPMoviePlayerViewController (qui est essentiellement un UIView qui encapsule un Sous-objet MPMoviePlayerController).
de toute façon, pour afficher et masquer votre vue UIActivityindicator, je vous recommande de vous connecter aux notifications qui sont envoyées depuis votre MPMoviePlayerController lorsque la charge ou le statut de playstatus change.
quelques d'entre eux sont:
MPMoviePlayerPlaybackStateDidChangeNotification
MPMoviePlayerLoadStateDidChangeNotification
de sorte que vous accrochez à ces événements faisant:
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(loadStateChanged:)
name: MPMoviePlayerLoadStateDidChangeNotification
object: moviePlayerViewController.moviePlayer];
et ce
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector(playBackStateChanged:)
name: MPMoviePlayerPlaybackStateDidChangeNotification
object: moviePlayerViewController.moviePlayer];
et dans vos gestionnaires (playBackStateChanged
et loadStateChanged
)
vous pouvez faire quelque chose comme ceci:
-(void)playBackStateChanged:(id)sender
{
MPMoviePlaybackState playbackState = [moviePlayerViewController.moviePlayer playbackState];
switch (playbackState) {
case MPMoviePlaybackStateStopped :
break;
case MPMoviePlaybackStatePlaying :
[yourActivityIndicatorView stopAnimating];
break;
case MPMoviePlaybackStateInterrupted :
[yourActivityIndicatorView startAnimating];
break;
}
}
assurez-vous que la propriété « hidesWhenStopped » (ou similaire) de votre IndicatorView est yes (si vous faites cela, vous ne devez pas se soucier de se cacher et démonter le contrôle.
le reste est simple, il suffit d'ajouter votre activityIndicatorView ontop de vue de votre MPMovieViewController.
espoir que je pourrais aider
hourras
sam
- 1. Cacher ActivityIndicator et afficher le titre dans NavigationBar
- 2. activityIndicator dans UIWebView avec TabBar
- 3. iPhone - Chargement ActivityIndicator
- 4. ActivityIndicator ne s'affiche pas pendant NSXMLParsing
- 5. obtenir l'allocation de mémoire à ActivityIndicator dans Iphone sdk
- 6. Cacher le texte dans ie7
- 7. Cacher des fichiers dans Windows
- 8. Comment cacher l'URL dans php
- 9. TabItem cacher spectacle dans silverlight
- 10. cacher un span dans mootools
- 11. cacher le clavier dans Android?
- 12. Comment cacher Tablix dans SSRS?
- 13. erreur cacher Jquery dans Firefox
- 14. Cacher UIPageControl
- 15. éléments Cacher WPF dans Visual Designer Studio
- 16. Comment cacher une puce dans le blog
- 17. javascript cacher/montrer échoue dans IE8
- 18. effet fadeout avec cacher dans jquery
- 19. Comment cacher le clavier logiciel dans WebView?
- 20. cacher le clavier virtuel dans Android?
- 21. cacher/afficher tous les commentaires dans xcode
- 22. Cacher les champs dans Django admin
- 23. Comment cacher un curseur dans IE? (JavaScript)
- 24. Comment cacher/bloquer un onglet dans C#?
- 25. Comment cacher certaines cibles dans CMake?
- 26. Comment cacher un paragraphe dans un FlowDocument?
- 27. cacher ou ajouter un UIBarbuttonitem dans tableview
- 28. nœud cacher dans le contrôle TreeView
- 29. Comment cacher des URL dans MYSQL?
- 30. cacher l'extension de la page dans l'URL
je faire, ce que je veux laisser le activeIndicator du moviePlayerViewController ne montrent jamais, parce que je l'ai déjà ajouter un activeIndicator par moi-même – ben
Ah je pense que je comprends tu sais. la solution consisterait à MASQUER votre lecteur jusqu'à ce que Loadstate du Movieplayer soit égal à MPMovieLoadStatePlayable, puis ré-afficher le lecteur. En attendant, vous pouvez afficher votre chargeur personnalisé. – samsam