iPad MPMoviePlayerController - Désactiver le mode plein écran
Est-il un moyen de désactiver le plein écran bouton de la MPMoviePlayerController ?
source d'informationauteur MathieuF
Vous devez vous connecter pour publier un commentaire.
Est-il un moyen de désactiver le plein écran bouton de la MPMoviePlayerController ?
source d'informationauteur MathieuF
Vous devez vous connecter pour publier un commentaire.
Non, il n'existe aucun moyen. J'espère que la prochaine mise à jour.
Juste fait:
En fonction de vos besoins, vous pouvez simplement désactiver toutes les interactions de l'utilisateur sur la vue du lecteur.
Vous pouvez définir controlStyle plein écran". ces contrôles sont un peu différentes, mais il n'a pas un bouton Fullscreen!
Vous pouvez masquer les contrôles de lecture et ajouter votre propre personnalisé, cela permettra d'éviter les boutons par défaut rendu à tous les
I. e avec
Malheureusement, aucun des ci-dessus a fonctionné pour moi correctement, de sorte que la cueillette le plus haut, j'ai mis en œuvre les suivantes (et a bien fonctionné):
Ajouter ce code dans la méthode où vous utilisez le lecteur de film.
Ajouter les méthodes:
Le problème repose que il n'y a pas de numéro de série pour identifier la vue qui vous avez à cacher. Dans mon cas, je l'ai trouver par les coordonnées de la vue.
Et ajouter le sélecteur méthodes:
Il y a un cheat:
Le principal hic, c'est que vous avez à faire dans
viewDidAppear:
ou similaire, parce que le MoviePlayer vue définit lui-même quelque part à l'intérieur dedidMoveToWindow
oudidMoveToSuperview
ce qui se passera aprèsviewWillAppear:
. Ainsi, vous obtenez un bref clignotement du bouton fullscreen. D'autres évident prises comprennent: fragile vs Apple changer 512 valeur de balise (bien qu'il travaille dans 3.2 - 4.2); et bien sûr, Apple serait plutôt à vous de ne pas le faire.L'a approuvé solution est de définir le style de contrôle de
MPMovieControlStyleNone
et rouler vos propres contrôles de transport, qui est plus de travail.afin de désactiver passer en mode plein écran, soit en forme de bouton ou de geste de pincement, vous pouvez utiliser ceci:
Filaire. Pour les vidéos qui démarrent en plein écran, ils ont la norme MPMoviePlayerController contrôles, mais à qui il manque le plein écran des boutons. Et ils utilisent la norme intégrés, puisqu'ils ont soudainement eu un bouton AirPlay avec 4.2.
Bloc Simple pour supprimer pincée de zoom ici
Espoir aide
il travailler avec moi sur iOS6
Cette travaillé sur iOS 7, iPhone 5s.
Avis que je n'écoute que pour les "A" et pas la "VOLONTÉ" notification ainsi qu'il a animé. Je pense que cela fonctionne car il donne au système le temps de réagir. Lorsque j'ai utilisé la "VOLONTÉ" et "A" comme indiqué dans les réponses ci-dessus, il conduit à un écran noir et pas de contrôle. Il y a un léger défaut qui est visible lorsque la transition se produit, mais j'ai besoin de la lecture/gommage des boutons intégrés.
Bouton Fullscreen avec bouton de pause peut être retiré.
Si le seulement chose que vous voulez faire est de désactiver le pincer pour le plein écran (c'est à dire garder interaction activé et quelle que soit la commande que vous voulez), vous pouvez utiliser ceci:
C'est le Swift version de la première solution de Javier Calatrava Llavería:
Et lorsque l'utilisateur appuie sur Play:
(VideoViewController est le point de vue du contrôleur auquel j'ai le MPMoviePlayerController)
Je sais, c'est un peu désuet, mais de toute façon. J'ai fait quelques recherches dans cette direction, et ressemble à une réponse. Je ne sais pas, pourquoi ça fonctionne, mais il est.
//Quand le film est terminé, relâchez la manette.
Mettre un
UIView
ouUIButton
avec un fond transparent sur le dessus de la vue qui montre la vidéo, de sorte que l'utilisateur ne sera pas en mesure de taper sur la fenêtre qui contient la vidéo.