私はiOS開発に比較的慣れていないので、ViewControllerのポップに問題があります。UIViewControllers
戻るボタンが押されたときに、ナビゲーションスタックから2つ(またはそれ以上)をポップする必要があります。それらすべてをアニメーション化したくないので、最初にアニメーション化されていない最後の1つを除いてすべてをポップし、次にアニメーション化された最後の1つをポップしますが、最後の1つ-viewWillDisappear
だけが呼び出されるわけではありません。これが私のコードです(これらはUIViewController
他のすべてが拡張されたスーパーから呼び出されています):
//popping all but last one - viewWillDisappear getting called for these
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:j] animated:NO];
//popping last one - viewWillDisappear not getting called for this one
[self.navigationController popViewControllerAnimated:YES];
//also tried this but with same result:
//[((UIViewController*)[self.navigationController.viewControllers objectAtIndex:j]).navigationController popViewControllerAnimated:YES];
誰かが私がここで間違っていることを知っていますか、それとも私が必要なことを正しく達成する方法を教えてもらえますか?