私のセットアップは簡単で、私の問題はこれと大差ありません。しかし、それをよりよく説明するために、ここに投稿しました:
NavController -> VC1 -> VC2
VC1 は NavController のルート ビュー コントローラーです。VC2 は、VC1 からプッシュ セグエ経由でアクセスできます。
VC1 内で次のことを検出したい:
ルート ビュー コントローラーとして (プッシュ経由で) 直接表示された VC2 がポップされた結果として表示された
私は、後で本当かどうかを教えてくれるはずだというドキュメントを読みました。
isMovingToParentViewController == NO
ただし、そうではなく、上記の条件は常に TRUE になります。つまり、 (self.isMovingToParentViewController == NO) は常に発生しています。
これが私のコードです:
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationController.navigationBarHidden = YES;
//pushed to stack
if (self.isMovingToParentViewController == YES)
{
//First time
}
else
//popped off
{
//via Pop from VC2
}
}
viewDidAppear についても同様です。
実際の確認のために、ブレークポイントを最初に置き、次のすべてが両方の場合で FALSE であることを確認しました。
([self isMovingFromParentViewController])
([self isMovingToParentViewController])
([self isBeingPresented])
([self isBeingDismissed])
何が起こっている?絵コンテで私がおかしなことはありますか? 助けてください...