嵌套的UINavigationController流已损坏

时间:2013-01-11 06:16:52

标签: iphone ios uinavigationcontroller uinavigationbar

我对NavigationController有问题。我创建堆栈的导航控制器流程就像

案例1: - A--->B--->C 案例2: - D--->B--->C

这是调用navigationController的实际流程,其中A,B,C,D是不同的堆栈。 我通过这种方法调用这些堆栈:

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位于同一堆栈中。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

或者每当你推VC时尝试这个。

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

这只有一个导航堆栈,因此所有的推送和弹出都发生在一个堆栈中。