2017-02-03 12 views
1

Я делаю реализацию видео всплеска, подобного Uber в моем приложении. Я добавил две кнопки в раскадровке в нижней части с равным интервалом в раскадровке. Теперь я добавляю AVPlayer для воспроизведения видео в NSBundle. Во время запуска приложения воспроизводится видео, но я не вижу его кнопок в нижней части. Почему это происходит? Пожалуйста, предложите ..Как добавить UIButton в раскадровку вверху AVPlayer в iOS?

- (void)createVideoPlayer { 

    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"welcome_video" ofType:@"mp4"]; 
    NSURL *url = [NSURL fileURLWithPath:filePath]; 

    AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:url]; 

    self.player = [AVPlayer playerWithPlayerItem:playerItem]; 
    self.player.volume = PLAYER_VOLUME; 

    AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player]; 
    playerLayer.videoGravity = UIViewContentModeScaleToFill; 
    playerLayer.frame = self.playerView.layer.bounds; 
    [self.playerView.layer addSublayer:playerLayer]; 

    [self.player play]; 

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayDidEnd:) name:AVPlayerItemDidPlayToEndTimeNotification object:self.player.currentItem]; 
} 

- (void)moviePlayDidEnd:(NSNotification*)notification{ 

    AVPlayerItem *item = [notification object]; 
    [item seekToTime:kCMTimeZero]; 
    [self.player play]; 
} 

скриншоте кнопок в раскадровке: enter image description here

Выход в тренажере:

enter image description here

Вы можете увидеть кнопки отсутствуют и Примечание: ограничения эти кнопки правильные, и я могу видеть их в каждом предварительном просмотре ...

+0

Попробуйте 'bringSubviewToFront' с помощью кнопки после добавления avplayer. –

+0

как это сделать с UIButton в раскадровке? –

+0

попробуйте фрейм этого игрока. –

ответ

1

Вам нужно позвонить bringSubviewToFront принести свой фронт Button выхода и виден на AVPlayer после добавления AVPlyer экземпляра в вашем представлении.

[self.view bringSubviewToFront:buttonOutlet]; 
1

Вы можете попробовать вызвать команду bringSubviewToFront на кнопке после того, как вы добавили avplayer.