J'essaye d'ajouter un UIButton à la vue d'un MPMoviePlayerController avec les contrôles standard. Le bouton apparaît au-dessus de la vidéo et fonctionne comme prévu lors de la réception des événements tactiles, mais je voudrais qu'il se fondre dans et hors des contrôles standard en réponse aux touches de l'utilisateur.MPMoviePlayerController ajoutant UIButton pour voir que fade avec des contrôles
Je sais que je pourrais accomplir ceci en roulant mes propres commandes de joueur faites sur commande, mais il semble stupide puisque j'essaye juste d'ajouter un bouton.
EDIT
Si vous traversez récursive la hiérarchie de vue de vue de l » MPMoviePlayerController finalement vous arriverez à une classe de vue appelée MPInlineVideoOverlay. Vous pouvez facilement ajouter des contrôles supplémentaires à cette vue pour obtenir le comportement de fondu entrant/sortant automatique.
Il y a quelques trucs bien, il peut parfois prendre un certain temps (jusqu'à une seconde dans mon expérience) après avoir créé le MPMoviePlayerController et ajouté à une vue avant qu'il ait initialisé pleinement et créé c'est MPInlineVideoOverlay couche. Pour cette raison, j'ai dû créer une variable d'instance appelée controlView dans le code ci-dessous car parfois il n'existe pas lorsque ce code s'exécute. C'est pourquoi j'ai le dernier bit de code où la fonction s'appelle à nouveau en 0.1 secondes si elle n'est pas trouvée. Je n'ai pas remarqué de retard dans le bouton apparaissant sur mon interface malgré ce retard. Ce n'est pas la meilleure solution, mais je la poste au cas où quelqu'un d'autre essaie de faire la même chose. Si Apple modifiait la structure de la vue ou les noms de classe internes à la superposition de contrôle, elle se briserait. Je suppose également que vous ne lisez pas la vidéo en plein écran (bien que vous puissiez la lire en plein écran avec des contrôles intégrés). J'ai aussi dû désactiver le bouton plein écran en utilisant la technique décrite ici parce que le MPInlineVideoOverlay vue se retire et libéré quand il est pressé: iPad MPMoviePlayerController - Disable Fullscreen
Appel setupAdditionalControls lorsque vous recevez les notifications fullscreen décrites ci-dessus rajoutez votre contrôles supplémentaires à l'interface utilisateur.
J'aimerais une solution plus élégante si quelqu'un peut suggérer quelque chose d'autre que ce hackery que j'ai imaginé.
Pour l'iPhone 5, au lieu de trouver une classe 'MPInlineVideoOverlay' essayez de trouver la classe 'MPFullScreenTransportControls' –