iOS导航栏管理

实现一个简单管理导航栏的方法如下

- (void)setIsOpaque:(BOOL)isOpaque
{
    if (!isOpaque) {//透明
        self.navigationController.navigationBar.translucent = YES;
        [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
    }else{//不透明
        self.navigationController.navigationBar.translucent = NO;
        [self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
    }
}

出现一个问题,就是页面进行切换时,导航栏上有阴影一闪而过。通过查看视图结构发现,阴影是iOS7的一个适配方法引起的。


iOS导航栏管理_第1张图片
D502F2C4-8870-4464-92DF-BE95EC7E45AE.jpg
  [self setEdgesForExtendedLayout:UIRectEdgeNone];

你可能感兴趣的:(iOS导航栏管理)