0

NavigationController に問題があります。スタックを作成するためのナビゲーション コントローラのフローは次のようになります。

ケース 1:-A--->B--->C ケース 2:- D--->B--->C

これは、A、B、C、D が異なるスタックである navigationController を呼び出す実際のフローです。これらのスタックを次のメソッドで呼び出します。

B *b=[[B alloc]init]
[[self navigationController]pushViewController:b animated:YES];

順番に移動してA-->B-->Cから戻ったときに問題C-->B-->Aが発生しました 。これはうまくいきD-->Bます。C

エラーnested push animation can result in corrupted navigation なぜこのエラーが来るのですか??

注..A and Dは同じスタックにあります。

4

2 に答える 2

1

これを試してください...それがあなたを助けることを願っています...

 NSArray *viewContrlls=[[self navigationController] viewControllers];
for( int i=0;i<[ viewContrlls count];i++)
{
    id obj=[viewContrlls objectAtIndex:i];
    if([obj isKindOfClass:[Yourclassname class]])
    {

        [[self navigationController] popToViewController:obj animated:YES];
        return;
    }
}

Yourclassname is your class which you want to push or pop and nothing to change
于 2013-01-11T06:32:31.120 に答える
0

または、VC をプッシュするたびにこれを試してください

YourAppDelegate *delegate=(YourAppDelegate*)[[UIApplication sharedApplication] delegate];
[delegate.window.navigationController pushViewController:whateverVCYouWant];

これにはナビゲーション スタックが 1 つしかないため、プッシュとポップはすべて 1 つのスタックで発生します。

于 2013-01-11T06:37:56.507 に答える