如何在Swift 5中隐藏状态栏?

问题描述 投票:0回答:1

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

这是我的代码:

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个回答
0
投票

您可以执行此功能。

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
    }
}

然后您可以检测到用户何时拖动滚动视图,并根据您要执行的操作和时间执行操作。

我希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.