2016-05-17 38 views
2

我不知道为什么会发生这种情况,即使我最近没有更改过这些代码,它也刚刚开始发生。我使用一个普通的UINavigationBar,barTint设置为白色,tintColor设置为标准蓝色。为什么添加到我的UINavigationBar背景的颜色?

View Hierarchy Debug showing problem

我模态呈现这个导航控制器。出于某种原因,检查视图层次结构的情况下,UINavigationBar的有:

UINavigationBar -_UINavigationBarBackground --UIImageView 此图片来看,经检查在调试器中,有一个的backgroundColor设置为[UIColor colorWithRed:0 green:0 blue:0 alpha: 0.3]

为什么?我不知道出了什么问题。

发生在模拟器中。

有没有人见过这个?疯!

回答

0

我还没有想出为什么会这样,但是就像一个坏医生,我发现了一种让症状消失而不知道问题出在哪里的方法。

我子类UINavigationBar的,并做了一些layoutSubviews黑客:

- (void)layoutSubviews 
{ 
    [super layoutSubviews]; 

    UIView *subview = self.subviews[0]; 
    if ([NSStringFromClass(subview.class) hasPrefix:@"_"]) { 
     subview = subview.subviews[0]; 
     if ([subview isKindOfClass:[UIImageView class]]) { 
      subview.backgroundColor = nil; 
     } 
    } 
} 
相关问题