zoukankan      html  css  js  c++  java
  • swift 播放器全屏显示

    点击全屏按钮

        @objc func clickFullScreenButton() {
            isFullScreen.toggle()
            DispatchQueue.main.async {
                UIDevice.current.setValue(self.isFullScreen ? UIInterfaceOrientation.landscapeRight.rawValue : UIInterfaceOrientation.portrait.rawValue, forKey: "orientation")
            }
        }
    
        public var isFullScreen: Bool = false {//是否全屏
            didSet {
                DispatchQueue.main.async {
                    if self.isFullScreen {
                //videoView 重新布局 self.videoView.snp.remakeConstraints { (remake) in remake.left.right.equalTo(0) remake.top.equalTo(0) remake.height.equalTo(ScreenWidth) } self.navigationController?.setNavigationBarHidden(true, animated: true) } else { self.videoView.snp.remakeConstraints { (remake) in remake.left.right.top.equalTo(0) remake.height.equalTo(180) } self.navigationController?.setNavigationBarHidden(false, animated: true) } self.view.bringSubviewToFront(self.videoView) } } }

    给 ViewController 添加系统旋转通知

        NotificationCenter.default.addObserver(self, selector: #selector(orientationDidChange), name:UIDevice.orientationDidChangeNotification, object: nil)
    sharedDelegate.rotate = true

    @objc func orientationDidChange() { if playerItem == nil { return } let ttt = UIDevice.current.orientation if ttt == .landscapeLeft || ttt == .landscapeRight { isFullScreen = true } if ttt == .portrait { isFullScreen = false } }

    AppDelegate 中 添加变量和方法

        var rotate = false
        func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
            if rotate {
                return .allButUpsideDown
            }
            return .portrait
        }
    

    退出时

        override func viewWillDisappear(_ animated: Bool) {
            sharedDelegate.rotate = false
            UIDevice.current.setValue(UIInterfaceOrientation.portrait.rawValue, forKey: "orientation")
        }
    
  • 相关阅读:
    终端服务器超出了最大允许连接数
    获得拼凑SQL语句运行后的结果
    无法添加此项,原因是要将其添加到的项不是解决方案文件夹
    SQL SERVER读书笔记:内存
    复制DropDownList
    设计模式基础
    WebForm与MVC混用
    SQL SERVER读书笔记:JOIN
    SQL SERVER读书笔记:nolock
    SQL SERVER读书笔记:阻塞与死锁
  • 原文地址:https://www.cnblogs.com/lion-witcher/p/13902367.html
Copyright © 2011-2022 走看看