Bouton personnalisé dans AVPlayerViewController.ContentOverlayView
J'ai besoin d'ajouter un bouton personnalisé à la AVPlayerViewController qui apparaîtra dans les deux en plein écran et non en plein écran pour une application fonctionnant sous iOS 8.
Ajout d'un bouton à l'AVPlayerViewController.la vue contenant la vue de travail pour les non-fullscreen mais lorsque le joueur change de plein écran, le bouton n'est plus visible. J'ai constaté que si j'ajoute un bouton à la AVPlayerViewController.ContentOverlayView puis elle s'affiche en plein écran et non en plein écran, mais il ne semble pas que le ContentOverlayView répond à toute les touche si le bouton ne peut pas être cliqué. Personne ne sait d'un autre endroit pour ajouter le bouton ou une façon de faire de la ContentOverlayView répondre à touche?
Exemple De Code
AVPlayerViewController *playerView = [[AVPlayerViewController alloc] init];
playerView.player = [AVPlayer playerWithURL:movieURL];
CGRect viewInsetRect = CGRectInset ([self.view bounds],
kMovieViewOffsetX,
kMovieViewOffsetY );
/* Inset the movie frame in the parent view frame. */
[[playerView view] setFrame:viewInsetRect];
[self.view addSubview: [playerView view]];
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.backgroundColor = [UIColor yellowColor];
btn.frame = CGRectMake(50, 50, 200, 75);
[btn addTarget:self action:@selector(didSelectButton:) forControlEvents:UIControlEventTouchUpInside];
[btn setUserInteractionEnabled:YES];
[btn setEnabled:YES];
[playerView.contentOverlayView addSubview:btn];
Vous devez vous connecter pour publier un commentaire.
J'ai réussi à obtenir ce travail en ajoutant ce qui suit à mon AVPlayerViewController de l'IB:
et puis dans le code de l'AVPlayerViewController:
Le bouton est maintenant centré en plein écran/normal affichage et le bouton fonctionne
J'ai eu la même situation que maintenant.
Au lieu de:
utilisation (après l'ajout de la playerView)
Cela va ajouter le bouton dans le minimisé joueur.
Maintenant pour le plein écran, je n'ai pas trouvé d'autre méthode fiable de vérifier si le joueur est entré en plein écran ou le dos, alors voici une solution:
et ce:
Je sais que ce n'est pas une bonne façon de le faire, mais c'est la seule façon que j'ai réussi à ajouter de l'INTERFACE utilisateur personnalisée qui reçoit également des événements tactiles sur le joueur.
Cheers!