我使用以下代码将多个按钮添加到导航控制器
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];
如何获得与导航栏颜色相匹配的背景颜色?
答案 0 :(得分:0)
使这项工作的最佳方法是使工具栏完全透明。一种方法是将UIToolbar子类化并覆盖drawRect:什么都不做。
这是我对UITransparentToolbar的实现(请注意,这假设工具栏将通过xib创建。):
@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
答案 1 :(得分:0)