на устройствах без надреза в строке состояния не анимировать в интерактивном поп-жесте - PullRequest
0 голосов
/ 24 мая 2019

У меня есть два контроллера вида: сначала со статусом и панелью навигации, затем со статусом и панелью навигации, при использовании iPhone X, Xs, Xs Макс. поп-интерактивный жест работает хорошо но при использовании устройств без интерактивного жеста с надрезом не анимируйте скрытие строки состояния

class ViewController1: UIViewController {

    override var prefersStatusBarHidden: Bool{
        return true
    }

    override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation{
        return .slide
    }

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

        navigationController?.setNavigationBarHidden(true, animated: true)
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .red

        navigationController?.isNavigationBarHidden = true

        addBtn()
    }

    // add button in center view
    fileprivate func addBtn() {
        let button = UIButton()
        view.addSubview(button)
        button.translatesAutoresizingMaskIntoConstraints = false
        button.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
        button.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
        button.setTitle("go to 2 vc", for: .normal)
        button.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(goTo2)))
    }


    @objc func goTo2(){
        navigationController?.pushViewController(ViewController2(), animated: true)
    }
}


class ViewController2: UIViewController {

    override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation{
        return .slide
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .blue

        navigationController?.setNavigationBarHidden(false, animated: true)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...