【问题标题】:How to hide status bar in swift 5?如何在swift 5中隐藏状态栏?
【发布时间】:2019-12-17 19:42:47
【问题描述】:

当我滚动时,导航栏和状态栏会隐藏 而且效果很好 但是当我转到另一个页面并返回第一页时,导航栏会隐藏起来,但状态栏不会再次隐藏。 我想在滚动时隐藏状态栏。比如导航栏

这是我的代码:

class ViewController: UIViewController {
@IBOutlet weak var View_Mor: UIView!
override func viewDidLoad() {
    super.viewDidLoad()
    navigationController?.hidesBarsOnSwipe = true
}
override var prefersStatusBarHidden : Bool {
    if self.navigationController?.isNavigationBarHidden == true {
        return true
    } else {
        return false
    }
}

}

@IBAction func gotosecondvc(_ sender: UIBarButtonItem) {
    let st = UIStoryboard(name: "Main", bundle: nil)
    let vc = st.instantiateViewController(withIdentifier: "secondvc")
    vc.modalPresentationStyle = .overFullScreen
    present(vc,animated: true,completion: nil)
    }

【问题讨论】:

    标签: swift xcode hide statusbar


    【解决方案1】:

    你可以做的就是实现这个功能。

    func scrollViewDidScroll(_ scrollView: UIScrollView) {
    
        if scrollView.isTracking {   
        // ... perform actions
             //MARK:- Show Status Bar
             UIApplication.shared.isStatusBarHidden = true
        } else {
        //.. not tracking
            //MARK:- Hide Status Bar
            UIApplication.shared.isStatusBarHidden = false
        }
    }
    

    然后,您可以检测用户何时拖动滚动视图并根据您想要做什么以及何时执行操作。

    我希望这会有所帮助。

    编辑——-

    private var hideStatusBar: Bool = false
    
    override var prefersStatusBarHidden: Bool {
        return hideStatusBar
    }
    
    override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
        return UIStatusBarAnimation.slide
    }
    

    用法

       func scrollViewDidScroll(_ scrollView: UIScrollView) {
    
            if scrollView.isTracking {   
            // ... perform actions
                 hideStatusBar = true 
            } else {
            //.. not tracking
                hideStatusBar = false 
            }
        }
    

    【讨论】:

    • 如何在这个函数中隐藏状态栏?
    • isStatusBarHidden 已弃用,朋友 ant 正在工作
    • @salamanta 检查我的更新。最近不推荐使用用法表示歉意。试试我的新更新
    猜你喜欢
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 2011-07-22
    • 2019-11-15
    相关资源
    最近更新 更多