2013-05-04 46 views
0

我不確定我的應用程序中究竟發生了什麼,但是當我現在嘗試更改爲視圖控制器時,在動畫時它不起作用:否。當動畫:是,它的工作原理,但顯示錯誤:pushViewController在動畫時不工作:NO

Unbalanced calls to begin/end appearance transitions 

這裏是我的(很簡單)代碼調用它:

JViewerViewController *viewer = [[JViewerViewController alloc] init]; 
[self.navigationController pushViewController:viewer animated:NO]; 

我做了一個NSLog的導航控制器上,觀衆的的可見視圖控制器。有趣的是,它將查看器視爲可見視圖控制器。

+0

您使用的標籤欄控制器 – Ayush 2013-05-04 15:47:59

+1

請看看這個:http://stackoverflow.com/questions/8224366/unbalanced-calls-to-begin-end-appearance-transitions-warning-when-push- a-view 可能已經解決了您的問題。 – 2013-05-04 15:48:15

+0

@Ayush不,我不是。 – Andrew 2013-05-04 15:54:26

回答

4

當您在當前視圖控制器完成顯示之前嘗試並顯示新的viewcontroller時,會發生這種情況。您可以通過在viewWillAppear中導航來重現它。

基本上你試圖將兩個視圖控制器幾乎同時推入堆棧。 將一次一個推入堆棧並檢查退出當前視圖是否有任何需要顯示的排隊詳細視圖。

希望它可以幫助你。

+0

+1簡要和很好的解釋... !!!! – Kamarshad 2013-05-04 20:56:39

0
JViewerViewController *viewer = [[JViewerViewController alloc] init]; 
[self.navigationController pushViewController:viewer animated:NO]; 

在ViewWillAppear中調用該方法。

-(void)viewWillAppear:(BOOL)animated 
{ 
ViewerViewController *viewer = [[JViewerViewController alloc] init]; 
[self.navigationController pushViewController:viewer animated:NO]; 
} 
相關問題