如题,在首页的导航栏是透明的,下面是轮播图,怎么通过self.navigationController push到另一个页面添加上不是透明,现在通过各种方法加不上颜色。
viewDidload里添加:
 [self.navigationController.navigationBar lt_setBackgroundColor:[UIColor whiteColor]];

    self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
都不可行

解决方案 »

  1.   

    而且也不是在viewdidload里面处理这个吧
      

  2.   

    类似丁丁的效果?我的做法是直接隐藏掉。
    -(void)viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
        self.navigationController.navigationBarHidden = YES;
    }- (void)viewWillDisappear:(BOOL)animated{
        [super viewWillDisappear:animated];
        self.navigationController.navigationBarHidden = NO;
        self.navigationController.navigationBar.translucent = YES;
    }
      

  3.   

     self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];
      

  4.   

    你这样解决, push 到这个页面的时候将导航栏隐藏,然后放一个View(这样颜色大小都随你, 相当于自定义导航栏就行了)然后 pop 回去的时候讲导航栏出现就行了啊
      

  5.   

    上面的都说是 whitecolor, 我想问一下白色是透明你确定?感觉好扯淡, clearcolor 这个好像才是透明吧,
      

  6.   

    我很确定我没有隐藏导航栏,我的首页是一个UITableView,滚动到一定的height,颜色就会渐变,代码如下:
    - (void)scrollViewDidScroll:(UIScrollView *)scrollView
    {
        //UIColor * color = [UIColor colorWithRed:225/255.0 green:225/255.0 blue:225/255.0 alpha:1];
        UIColor *color=[UIColor whiteColor];
        CGFloat offsetY = scrollView.contentOffset.y;
        if (offsetY > NAVBAR_CHANGE_POINT) {
            CGFloat alpha = MIN(1, 1 - ((NAVBAR_CHANGE_POINT + 64 - offsetY) / 84));
            [self.navigationController.navigationBar lt_setBackgroundColor:[color colorWithAlphaComponent:alpha]];
        } else {
            [self.navigationController.navigationBar lt_setBackgroundColor:[color colorWithAlphaComponent:0.6]];
            
        }
    }
      

  7.   

    我知道你这个方法可以实现,但是我这个页面是一个复用页面,很多页面往这跳,我要判断,并且需要给左侧、右侧、中间标题,分别给自定义头部view赋值,有点太繁琐了