我有一个有白色色调,与栏按钮项UIToolbar,其次是一些灵活的空间,紧接着又栏按钮项目。 我想使工具栏完全清楚,这样我可以看到什么是灵活的空间下(我不在乎看到的是背后的按钮)。 有没有办法做到这一点? 我曾尝试设置工具栏半透明,但是这并不能使它完全清楚。
Answer 1:
[self.toolbar setBackgroundImage:[UIImage new]
forToolbarPosition:UIToolbarPositionAny
barMetrics:UIBarMetricsDefault];
[self.toolbar setBackgroundColor:[UIColor clearColor]];
Answer 2:
子类UIToolbar,并实现以下方法:
- (void)drawRect:(CGRect)rect
{
[[UIColor colorWithWhite:0 alpha:0.6f] set]; // or clearColor etc
CGContextFillRect(UIGraphicsGetCurrentContext(), rect);
}
查看更多详情点击这里
Answer 3:
设置toolbarStyle -1这样
tools.barStyle = -1; // clear background
Answer 4:
哈克,对不起,但我发现的唯一途径,到目前为止能可靠地工作在两个的iOS 7和iOS 6是做到这一点:
[[toolbar.subviews objectAtIndex:0] removeFromSuperview];
Answer 5:
如果你想有一个全球性的解决方案充分利用的UIAppearance
代理:
UIToolbar *toolbarAppearance = [UIToolbar appearance]; [toolbarAppearance setBackgroundImage:[[UIImage alloc] init] forToolbarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
Answer 6:
它可以在不iOS的子类6+的属性设置来完成translucent
到`YES。
下面这不会在iOS 5中工作。 下面是它可以没有子工具栏来完成:
const float colorMask[6] = {222, 255, 222, 255, 222, 255};
UIImage *img = [[UIImage alloc] init];
UIImage *maskedImage = [UIImage imageWithCGImage: CGImageCreateWithMaskingColors(img.CGImage, colorMask)];
[self.toolbar setBackgroundImage:maskedImage forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
Answer 7:
雨燕3.0版本接受的答案的:
self.toolbar.isTranslucent = true
self.toolbar.setBackgroundImage(UIImage(),
forToolbarPosition: UIBarPosition.any,
barMetrics: UIBarMetrics.default)
self.toolbar.setShadowImage(UIImage(), forToolbarPosition: UIBarPosition.any)
文章来源: How to make UIToolbar have a Clear Background?