一个UITabBarController上包含几个UINavigationController,不小心在UINavigationController的非根视图上点击了tabBarItem就回到了根视图,如何解决?
首先出现这种情况,说明UI设计的不太合理,UINavigationController推出非根视图时,应该将tabBar隐藏,但是有些奇葩的设计人员偏偏没有让隐藏.不过还是可以解决的.加入如下代码即可
-(
void
)viewWillAppear:(
BOOL
)animated
{
[ super viewWillAppear :animated];
self . navigationController . tabBarItem . enabled = NO ;
}
-( void )viewWillDisappear:( BOOL )animated
{
[ super viewWillDisappear :animated];
self . navigationController . tabBarItem . enabled = YES ;
}
{
[ super viewWillAppear :animated];
self . navigationController . tabBarItem . enabled = NO ;
}
-( void )viewWillDisappear:( BOOL )animated
{
[ super viewWillDisappear :animated];
self . navigationController . tabBarItem . enabled = YES ;
}