在開(kāi)發(fā)中會(huì)遇到這種情景: A控制器需要隱藏導(dǎo)航欄 B控制器不需要隱藏導(dǎo)航欄,然而設(shè)置隱藏A控制器的導(dǎo)航欄會(huì)造成返回的動(dòng)畫(huà)效果很突兀,
解決方法:
在需要隱藏導(dǎo)航欄控制器設(shè)置如下代碼
- (void)viewWillAppear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:YES animated:animated];
[super viewWillAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:NO animated:animated];
[super viewWillDisappear:animated];
}
1.setNavigationBarHidden:YES/NO 是防止切換突兀 這個(gè)大家都知道
2.animated:animated 設(shè)置了1的代碼,在切換tabbar的情況下會(huì)發(fā)生向上跳動(dòng)的情況,這個(gè)時(shí)候需要靠這句代碼來(lái)解決,并且放在調(diào)用super之前會(huì)比較好