назад я успешно обнаружить, если пользователь нажал на кнопку назад, используя следующий код:Swift добавить действие, если пользователь нажимает кнопку
override func viewWillDisappear(animated: Bool) {
let viewControllers: NSArray = self.navigationController?.viewControllers as! NSArray
if viewControllers.indexOfObject(self) == NSNotFound {
self.navigationController?.setNavigationBarHidden(true, animated: true)
}
super.viewWillDisappear(animated)
}
, но я получаю следующее предупреждение:
отлиты из «[ AnyObject]? к несвязанному типу «NSArray» всегда не удается
Есть ли способ «более аккуратного» для этого?
пробовал весь метод, я думаю, что это лучший ответ! Спасибо за помощь !!! –
Это не сработает. В Swift, navigationController.viewControllers всегда будут содержать self. – mbeaty
Существует гораздо более простой способ, чем смотреть на контроллеры представлений внутри 'viewWillDisappear'. Вызов 'isBeingDismissed' внутри' viewWillDisappear'. – rmaddy