Функция willTransition не работает на реальном устройстве (swift 4) - PullRequest
0 голосов
/ 03 декабря 2018

Я очень новичок в iOS и быстр, надеюсь, вы, ребята, можете мне помочь.Я работаю над проектом, где у меня есть боковое меню.Когда устройство ориентируется от пейзажа к портрету или от портрета к пейзажу, я хочу убрать боковое меню.У меня есть эта функция:

override func willTransition(to newCollection: UITraitCollection, with coordinator: UIViewControllerTransitionCoordinator) {

    DispatchQueue.main.async{
        //do something here
        print("make side menu go away")
    }
}

Это работает на симуляторе, но когда я тестировал его на реальном устройстве, он не работал.Кто-нибудь знает что происходит?Или как лучше это сделать?Заранее спасибо!

1 Ответ

0 голосов
/ 03 декабря 2018

Измените UIViewConrollerTransitionCoordinator на UIViewControllerTransitionCoordinator.

Затем протестировали на iOS 12 iPhone 6s, метод был вызван.

РЕДАКТИРОВАТЬ

Вы должны использовать этот метод func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator)

Или вы можете использовать этот способ:

    NotificationCenter.default.addObserver(self, selector: #selector(didRotate), name: UIDevice.orientationDidChangeNotification, object: nil)

    @objc func didRotate() {
      // Do something here
    }
...