したがって、UINavigationController
はrootViewController
がストーリーボードに設定されています。私はSwift:rootViewControllerにはビューがありません[Will/Did] Disappear methods called
var newController: UIViewController!
// newController is initiated at some point
...
if let navigationController = self.navigationController {
navigationController.setViewControllers([newController])
}
を使用してナビゲーションコントローラを(理由を尋ねるが、私のアプリで特定の遷移が新しいコントローラと交換するスタック全体を必要としない)に取って代わると私は視覚的遷移が発生見ることができるときはいつでも、どちらもviewWillDisappearまたはviewDidDisAppearメソッドが呼び出されます。その後、ナビゲーションコントローラのスタックを交換すると、期待どおりに呼び出されます。彼らが呼び出されるのを防ぐルートに特別なものがありますか?
私は、ルートコントローラを切り替えるとビューが実際に消えていないためだと思います。あなたが取り除いているビューに対して 'dismiss(animated:false)'を呼び出すことを試みてください。 –
モーダルで表示されているビューに対しては、却下されませんか? –