iOS设置navigationBar背景透明

iOS设置navigationBar背景透明

下面这串代码写在viewWillAppear中

    [self.navigationController setNavigationBarHidden:NO];
    [self.navigationController.navigationBar setTranslucent:YES];
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"导航栏"] forBarMetrics:UIBarMetricsDefault];
    //    self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
    //隐藏横线的方法
    //    为什么要加这个呢,shadowImage 是在ios6.0以后才可用的。但是发现5.0也可以用。不过如果你不判断有没有这个方法,
    //    而直接去调用可能会crash,所以判断下。作用:如果你设置了上面那句话,你会发现是透明了。但是会有一个阴影在,下面的方法就是去阴影
    if ([self.navigationController.navigationBar respondsToSelector:@selector(shadowImage)])
    {
        [self.navigationController.navigationBar setShadowImage:[[UIImage alloc]init]];
    }
    //    以上面4句是必须的,下面这句可加可不加
    [self.navigationController.navigationBar setBackgroundColor:[UIColor clearColor]];


你可能感兴趣的:(Navigation)