-1

statusBar画面に表示するときに非表示にしたいview

func showView() {

    if let keyWindow = UIApplication.shared.keyWindow{
        let view = UIView(frame: keyWindow.frame)
        view.backgroundColor = UIColor.black
        keyWindow.addSubview(view)

        UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 1, options: .curveEaseOut, animations: {
            view.frame = keyWindow.frame
        }) { (completedAnimnation) in
            //hide status bar when view is showed
            UIApplication.shared.isStatusBarHidden = true
        }
    }

}

これは、ビューを表示し、次を使用して statusBar を非表示にしようとするコードです UIApplication.shared.isStatusBarHidden = true。またUIApplication.shared.setStatusBarHidden(true, with: .fade)、これらのどれも機能していません。またoverride prefersStatusBarHidden、私はUIViewクラスにいるのでできません。

override var prefersStatusBarHidden: Bool {
    return true
}

注:他のすべての回答を見たが、どれも機能していないため、重複としてマークしないでください。ビューが表示されている場合にのみ、すべてのアプリケーションで非表示にしたくありません。

4

2 に答える 2

1

ステップ1: Info.plistファイルで、プラスボタンをクリックして新しいキーを追加します値をにView controller-based status bar appearance 設定しますNO

ステップ 2: 1 つの画面で非表示にする場合

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    UIApplication.shared.isStatusBarHidden = true
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)

    UIApplication.shared.isStatusBarHidden = false
}

ステップ 3:アプリ全体で非表示にする場合 AppDelegate.swift

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) -> Bool {
    application.statusBarHidden = true
    return true
}
于 2018-08-27T10:45:22.110 に答える