Выйти из AVPlayerViewController в полноэкранном режиме программно? - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь настроить показ AVPlayerViewController в полноэкранном режиме, и я ищу ссылку: Как заставить AVPlayerViewController перейти в полноэкранный режим программно? .Это работает, когда я использую приватный метод, но я не могу найти метод выхода в полноэкранном режиме.

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Я нашел решение этой проблемы, которое работает для меня

extension AVPlayerViewController {

func goFullScreen() {
    let selectorName: String = {
        if #available(iOS 11.3, *) {
            return "_transitionToFullScreenAnimated:interactive:completionHandler:"
        } else if #available(iOS 11, *) {
            return "_transitionToFullScreenAnimated:completionHandler:"
        } else {
            return "_transitionToFullScreenViewControllerAnimated:completionHandler:"
        }
    }()
    let selectorToForceFullScreenMode = NSSelectorFromString(selectorName)

    if self.responds(to: selectorToForceFullScreenMode) {
        self.perform(selectorToForceFullScreenMode, with: true, with: nil)
    }
}

func quitFullScreen() {
    let selectorName: String = {
        if #available(iOS 11, *) {
            return "_transitionFromFullScreenAnimated:completionHandler:"
        } else {
            return "_transitionFromFullScreenViewControllerAnimated:completionHandler:"
        }
    }()
    let selectorToForceQuitFullScreenMode = NSSelectorFromString(selectorName)

    if self.responds(to: selectorToForceQuitFullScreenMode) {
        self.perform(selectorToForceQuitFullScreenMode, with: true, with: nil)
    }
}
}

Надеюсь, это поможет.

0 голосов
/ 14 января 2019

Я нашел решение, что вы можете выйти и выйти из полноэкранного режима.

Если кто-то ищет ответ, я надеюсь, что это поможет ...

import AVKit

extension AVPlayerViewController {

    func goFullScreen() {
        let selectorName = "enterFullScreenAnimated:completionHandler:"
        let selectorToForceFullScreenMode = NSSelectorFromString(selectorName)

        if self.responds(to: selectorToForceFullScreenMode) {
            self.perform(selectorToForceFullScreenMode, with: true, with: nil)
        }
    }

    func quitFullScreen() {
        let selectorName  "exitFullScreenAnimated:completionHandler:"
        let selectorToForceQuitFullScreenMode = NSSelectorFromString(selectorName)

        if self.responds(to: selectorToForceQuitFullScreenMode) {
            self.perform(selectorToForceQuitFullScreenMode, with: true, with: nil)
        }
    } 
}

Дайте мне знать, если вы работаете длявы.

...