iPhone MPMoviePlayer ottenere visualizzare i pulsanti
-
20-09-2019 - |
Domanda
Qualcuno mi può suggerire come ottenere la vista che contiene tutti i pulsanti da 'MPMoviePlayer'?
Se non si conosce, almeno come si ottiene il principale vista / finestra della MPMoviePlayer.
UPDATE: Ho bisogno di fare questo per aggiungere un pulsante sul controller della vista. Sarebbe simile a questa: Esempio http://img338.imageshack.us/img338/5184/poz.jpg
Grazie in anticipo!
Soluzione
Non è possibile aggiungere direttamente alla visualizzazione del MPMoviePlayerController - che è una vista privata e non è accessibile. Se si desidera aggiungere i pulsanti, è necessario creare una finestra trasparente sopra la parte superiore di tutto e aggiungere i pulsanti per questo.
MoviePlayer di esempio mostra come eseguire questa operazione.
Altri suggerimenti
La risposta di cui sopra è in realtà corretto: la vista non è privata, ed è possibile aggiungere una vista ad esso. Non vi resta che immergersi abbastanza in profondità per trovarlo.
Per esempio, in iOS 5.1, si può provare qualcosa di simile:
UIView *fullscreenOverlayView = [[[[[[[mpPlayer view] subviews] objectAtIndex:0] subviews] objectAtIndex:0] subviews] objectAtIndex:2];
[fullscreenOverlayView addSubview:ccButton];
Questo aggiunge un pulsante CC alla vista, e se si specifica il valore corretto per il telaio del pulsante CC, inserirà il tasto per il pannello di controllo, e nascondere / mostrare con il pannello di controllo a sfioramento. FYI: questo è il telaio che uso:
BOOL isPortrait = UIInterfaceOrientationIsPortrait([UIApplication sharedApplication].statusBarOrientation);
// all of these values are just based on measurement on screen
// to make sure that the CC button "seems" to be part of the player's control panel
if (isPortrait)
{
return CGRectMake(222, 880, 40, 40);
}
else {
return CGRectMake(350, 625, 40, 40);
}
NOTA: l'insieme di subviews di [vista mpPlayer] sono diversi per le diverse versioni di iOS, in modo da considerare questo come un lavoro in giro solo. Non c'è alcuna garanzia che questo funziona su iOS 6, e andrà in crash su iOS 4.3.