0

I'm presenting an AVPlayerViewController with an AVPlayer and are displaying a pre-roll ad in it, but I want to remove the top and button bar, or make the user unable to dismis the ViewController before the ad is done:

Screnshot from iphone

How do I do that?

here's my code for my AVPlayerViewController implementation:

let preRollAdPlayer = AVPlayerViewController()

let player = AVPlayer()
preRollAdPlayer.player = player
if #available(iOS 9.0, *) {
    preRollAdPlayer.delegate = self
}

preRollAdPlayer.showsPlaybackControls = false

self.view?.window?.rootViewController?.presentViewController(preRollAdPlayer, animated: true, completion: {
    self.preRollAdPlayer.playPrerollAdWithCompletionHandler({ (error) -> Void in

        if (error != nil) {
            NSLog("Error Message: %@", error)
        } else {
            print("preRoll loaded")
        }

        self.preRollAdPlayer.dismissViewControllerAnimated(true, completion: {
            if (error != nil) {
                NSLog("Error Message: %@", error)
            }
        })
    })

})
Benja0906
  • 1,437
  • 2
  • 15
  • 25

1 Answers1

1

According to Apple, you should use showsPlaybackControls property:

A Boolean value that indicates whether the player view controller shows playback controls.

Set it to false:

Swift:

yourAvPlayer.showsPlaybackControls = false

Objective C:

[yourAvPlayer setShowsPlaybackControls:FALSE];
OhadM
  • 4,687
  • 1
  • 47
  • 57
  • I've just tried that and it dosen't do anything the toolbars are still there – Benja0906 Feb 07 '16 at 12:57
  • Have you looked in: http://stackoverflow.com/questions/29090186/hide-controls-in-avplayerviewcontroller-only-at-start – OhadM Feb 07 '16 at 12:59