Mic*_*ael 2 xcode cocoa-touch objective-c interface-builder ios
我遇到严重的问题让我的导航控制器工作,并在本网站上尝试了几乎所有相关的问题.
我的问题是,当我以编程方式执行segue时,导航栏中似乎存在转换,但视图不会更改.我看到以下错误:
2013-10-22 13:47:30.059 App[2236:a0b] nested push animation can result in corrupted navigation bar
2013-10-22 13:47:30.411 App[2236:a0b] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
2013-10-22 13:47:30.501 App[2236:a0b] Unbalanced calls to begin/end appearance transitions for
Run Code Online (Sandbox Code Playgroud)
我的故事板看起来像这样:
在LoginViewController中,我们根据某些条件执行segue:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear];
NSString* appState = [AppConfig getAppState];
if ([appState isEqualToString:APP_STATE_WAITING]) {
[self performSegueWithIdentifier:@"Load" sender:self];
}
else if ([appState isEqualToString:APP_STATE_REGISTRATION_AVAILABLE]) {
[self performSegueWithIdentifier:@"SignUp" sender:self];
}
}
Run Code Online (Sandbox Code Playgroud)
在LoadingViewController中,我们等待来自Web服务的响应,然后执行以下操作:
- (void)segueToWaitingList:(NSUInteger)behind inFront:(NSUInteger)inFront
{
[MosaycOptions setAppState:APP_STATE_WAITING];
dispatch_async(dispatch_get_main_queue(), ^{
[self performSegueWithIdentifier:@"Waiting" sender:self];
});
}
Run Code Online (Sandbox Code Playgroud)
正是segue给了我这个问题.导航栏转换但视图没有转换,我们看到打印出以下错误:
2013-10-22 13:47:30.059 App[2236:a0b] nested push animation can result in corrupted navigation bar
2013-10-22 13:47:30.411 App[2236:a0b] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
2013-10-22 13:47:30.501 App[2236:a0b] Unbalanced calls to begin/end appearance transitions for
Run Code Online (Sandbox Code Playgroud)
该应用程序不会崩溃,但不会发生segue,它不会转换到等待列表视图,而只是继续加载并将错误打印到控制台.当我按回而不是回到登录屏幕时,我得到以下空白屏幕:
如果我再次按回它会崩溃,出现此错误:http://pastebin.com/7mCyeQv9
有些事情显然已经搞砸了导航堆栈,但是我已经使用调试器进行了检查,它看起来非常好,所有内容都正常推送.我不能为我的生活弄清楚.这只是我之前使用过的标准导航控制器设置.
有任何想法吗?
Mic*_*ael 10
我终于弄明白了这个问题.
performSegueWithIdentifier
之前viewDidAppear
被调用的是在LoadingViewController上调用的.基本上是同步错误.