我遇到嚴重的問題讓我的導航控制器工作,並嘗試幾乎所有相關的問題在這個網站上。UINavigationController'損壞的導航欄'問題
我的問題是,當我以編程方式執行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
我的故事板是這樣的:
在LoginViewController我們基於某些條件執行賽格瑞:
- (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];
}
}
在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];
});
}
這就是讓我感到棘手的問題。導航欄的轉變,但認爲不和我們看到打印出來以下錯誤:
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
的應用程序不會崩潰,但沒有發生SEGUE,它不會轉移到等待名單的看法,但僅僅停留在加載並打印錯誤到控制檯。當我按回到而不是移動回登錄屏幕出現以下空白屏幕:
如果我回來了它與此錯誤崩潰按:http://pastebin.com/7mCyeQv9
東西顯然是越來越亂了與導航堆棧,但我已經檢查它使用調試器,它看起來非常好,一切都被推到平常。我不能爲我的生活弄清楚。這只是我之前使用的標準導航控制器設置。
任何想法?
爲什麼你使用dispatch_async(dispatch_get_main_queue(),^ {「in ** viewDidAppear **?** viewDidAppear **總是在主隊列中運行 – adnako
好點,遺留在另一個位置。 – Michael
您應該使用** viewDidAppear:(BOOL)animated **方法,而不是** viewDidAppear ** – adnako