2011-08-19 83 views
0

我用下面的代码的多个按钮添加到导航控制器添加到工具栏导航控制器 - 颜色失配

UIToolbar* toolbar = [[UIToolbar alloc] 
         initWithFrame:CGRectMake(0, 0, 100, 44)]; 
toolbar.tintColor = [UIColor clearColor]; 
[toolbar setBarStyle: UIBarStyleBlackTranslucent]; 

... 

的问题是工具栏的背景不100%匹配到导航栏。工具栏顶部显示一条小行。颜色几乎是相同的,但如果你仔细看,你可以看到长方形......

我不按照委托设置导航栏

self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:.0 green:.0 blue:.0 alpha:.4]; 

任何想法的背景怎么弄背景颜色匹配导航栏的颜色?

screen capture of the problem

回答

0

,使这项工作的最好方法就是让工具条完全透明。做到这一点的一种方法是继承UIToolbar并覆盖drawRect:什么也不做。

这里是我实施UITransparentToolbar的(注意,这个假设的工具栏将通过厦门国际银行创建。):

@implementation UITransparentToolbar 

- (id)initWithCoder:(NSCoder *)decoder 
{ 
    if (self = [super initWithCoder:decoder]) 
    { 
     self.backgroundColor = [UIColor clearColor]; 
     self.opaque = NO; 
     self.translucent = YES; 

    } 
    return self; 
} 

- (void)drawRect:(CGRect)rect 
{ 
} 

- (void)dealloc 
{ 
    [super dealloc]; 
} 

@end 
相关问题