4

にします。私は、この「presentViewControllerコール内からステータスバーを隠すことはできますか?は、私はAVPlayerViewControllerを提示しています、ボタンを押すにはUIジャンプ

私は

playerViewController.prefersStatusBarHidden() 

含むしようとしましたが、プレイヤーがステータスバーを表示し続けます。

おかげ

+0

おかげ@NSNoobが、それは私の現在のViewControllerあなたがavplayerviewcontrollerをサブクラス化し、このメソッドを追加したり、追加しなかったこと – robinyapockets

答えて

0

を私は終わりましたボタンを押すだけで新しいAVPlayerViewControllerを作成し、そのコントローラー内にコードを追加しました:

override func prefersStatusBarHidden() -> Bool { 
    return true 
} 

私は単にビデオを見ていると考えて、もっとコードが好きですが、それは滑らかに動作します。

+0

を提示するためにボタンを押すと言っている(1で動作します。これはavplayerviewcontrollerを提示したビューコントローラでですか? –

0

私のソリューション:

class MyAVPlayerViewController: AVPlayerViewController { 
var presenting: Bool = true 

override var prefersStatusBarHidden: Bool { 
    if presenting { 
     return false 
    } else { 
     return super.prefersStatusBarHidden 
    } 
} 

override var childViewControllerForStatusBarHidden: UIViewController? { 
    if presenting { 
     return nil 
    } else { 
     return super.childViewControllerForStatusBarHidden 
    } 
} 

override func viewDidAppear(_ animated: Bool) { 
    super.viewDidAppear(animated) 
    presenting = false 
    setNeedsStatusBarAppearanceUpdate() 
} 
} 
関連する問題