iOS----------導覽列的正確隱藏方式,ios----------導覽列
- 第一種做法
-注意這裡一定要用動畫的方式隱藏導覽列,這樣在使用滑動返回手勢的時候效果最好,和上面動圖一致.這樣做有一個缺點就是在切換tabBar的時候有一個導覽列向上消失的動畫.
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.navigationController setNavigationBarHidden:YES animated:YES];}- (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [self.navigationController setNavigationBarHidden:NO animated:YES];}
- 第二種做法
- 設定self為導航控制器的代理,實現代理方法,在將要顯示控制器中設定導覽列隱藏和顯示,使用這種方式不僅完美切合滑動返回手勢,同時也解決了切換tabBar的時候,導覽列動態隱藏的問題.
@interface WLHomePageController () <UINavigationControllerDelegate>@end@implementation WLHomePageController #pragma mark - lifeCycle- (void)viewDidLoad { [super viewDidLoad]; // 設定導航控制器的代理為self self.navigationController.delegate = self;}#pragma mark - UINavigationControllerDelegate// 將要顯示控制器- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { // 判斷要顯示的控制器是否是自己 BOOL isShowHomePage = [viewController isKindOfClass:[self class]]; [self.navigationController setNavigationBarHidden:isShowHomePage animated:YES];}
原部落格地址http://blog.csdn.net/ws1352864983/article/details/51932388