不平衡通话开始/结束的外观转换为(Unbalanced calls to begin/end app

2019-08-17 01:08发布

当我初始化UITabBarController ,每个选项卡包含UINavigationController每个UINavigationController包括UIViewControllerUIViewController我做这样的事情

TSActivityDetailsVC * c = [[TSActivityDetailsVC alloc] initWithNibName:@"TSActivityDetailsVC" bundle:nil];
[self.navigationController pushViewController:c animated:YES];

我有动画,但是当我按后退按钮 - 我没有动画,并得到错误

日志:

push view controller
Unbalanced calls to begin/end appearance transitions for <TSActivityMapVC: 0x81b1000>.
back btn pressed
Unbalanced calls to begin/end appearance transitions for <TSActivityDetailsVC: 0x81c85d0>.

初始化代码:

-(UITabBarController *) createMainTabBarController{
UITabBarController * tabbarCntr = [[UITabBarController alloc] init];
[tabbarCntr setViewControllers:[NSArray arrayWithObjects:
                                [[UINavigationController alloc] initWithRootViewController:[[TSActivityMapVC alloc] init]],                                    
                                [[UIViewController alloc] init],
                                [[UIViewController alloc] init],
                                [[UIViewController alloc] init],
                                [[UIViewController alloc] init]
                                , nil]];
[tabbarCntr.tabBar setSelectionIndicatorImage:[UIImage imageNamed:@"selection_indicator"]];
[tabbarCntr.tabBar setBackgroundImage:[UIImage imageNamed:@"tabbar_background"]];    

return tabbarCntr; 
}

TSActivityMapVC我perfom

TSActivityDetailsVC * c = [[TSActivityDetailsVC alloc] initWithNibName:@"TSActivityDetailsVC" bundle:nil]; 
[self.navigationController pushViewController:c animated:YES];

令人惊讶的是,当我去到另一个选项卡,并返回 - 后 - 所有没有错误工作正常

Answer 1:

我得到了解决! 我子类化UITabBarController和忘了打电话的超级 viewWillAppear 。 所以的过渡动画UITabBarController没有完成。

这导致了“不平衡呼叫开始/结束外表”!



Answer 2:

最后,我转载你的错误。 看来你都忘了叫超在这两种方法。

-(void)beginAppearanceTransition:(BOOL)isAppearing animated:(BOOL)animated{
    [super beginAppearanceTransition:isAppearing animated:animated];
    NSLog(@"**************begin app tr");
}

-(void)endAppearanceTransition{
    [super endAppearanceTransition];
    NSLog(@"**************end app tr");
}

希望在此您的问题。



文章来源: Unbalanced calls to begin/end appearance transitions for