Как добавить Subview для полноэкранного MPMoviePlayer

Я хочу добавить логотип (UIImageView) в полноэкранный MPMoviePlayerController.

Работает нормально когда MPMoviePlayerController не в полноэкранном режиме. Когда я переключаюсь на полный экран, все добавленные виды на MPMoviePlayerController удален (скрытый).

Вот мой код:

- (void)setupMPMoviePlayer{
    [self.moviePlayer.view removeFromSuperview];
    [self removeNotifications];
    self.moviePlayer = nil;

    self.moviePlayer = [[MPMoviePlayerController alloc] init];

    [self addNotifications];

    [self.moviePlayer.view setFrame:self.view.bounds];
    self.moviePlayer.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
    self.moviePlayer.fullscreen = NO;
    [self.view addSubview:self.moviePlayer.view];


    if ([self.moviePlayer respondsToSelector:@selector(setAllowsAirPlay:)])
        [self.moviePlayer setAllowsAirPlay:YES];

    [self.moviePlayer setContentURL:[NSURL URLWithString:urlString]];
    [self.moviePlayer setFullscreen:YES animated:YES];
    [self addLogoViewAtView:self.moviePlayer.view];
}

- (void)addLogoViewAtView:(UIView *)view{        
    UIView *theView = [view viewWithTag:101];
    if (theView.superview) {
        [theView removeFromSuperview];
    }

    UIImageView *logoView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"logo_weiss.png"]];
    logoView.tag = 101;
    logoView.frame = CGRectMake( logoView.image.size.width - 100.0,
                                100.0,
                                logoView.image.size.width,
                                logoView.image.size.height);
    logoView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin;    
    [view addSubview:logoView];
    [view bringSubviewToFront:logoView];
}

Теперь мой вопрос, есть ли альтернативный способ добавить подпредставление к MPMoviePlayerController?

Я могу добавить логотип в окно приложения, но это не так чисто.

У кого-нибудь есть идеи, как я могу это сделать?

1 ответ

Наиболее вероятно полноэкранный режим добавляет представление MPMoviePlayerController в keyWindow для приложения или представляет контроллер модального представления выше. Таким образом, вы можете попытаться найти представление в window.subviews или модальные контроллеры представления для moviePlayer.

Другие вопросы по тегам