Iphone 透明工具条

Iphone 透明工具条,iphone,transparent,uitoolbar,Iphone,Transparent,Uitoolbar,我编写了以下代码以使工具栏透明 [mtoolbar setBackgroundColor:[UIColor clearColor]]; 如何使UIToolbar透明?您可以将属性transparent设置为YES,看看这是否有帮助。检查下面的代码 [myToolbar setBarStyle:UIBarStyleBlack]; [myToolbar setTranslucent:YES]; 摘自 @Brandon Bodnár在下面的帖子中回答了这个问题 您也可以使用不同的方法 以下功能适

我编写了以下代码以使工具栏透明

[mtoolbar setBackgroundColor:[UIColor clearColor]];

如何使
UIToolbar
透明?

您可以将属性
transparent
设置为
YES
,看看这是否有帮助。

检查下面的代码

[myToolbar setBarStyle:UIBarStyleBlack];
[myToolbar setTranslucent:YES];
摘自

@Brandon Bodnár在下面的帖子中回答了这个问题

您也可以使用不同的方法


以下功能适用于iOS 5(和iOS 6 beta 4,尽管仍然可以看到轻微的顶部阴影)

请注意: 让UIToolbar或UINavigationBar透明很少是个好主意,以这种方式修改苹果的UIKit元素迟早会失败

透明工具栏.h

#import <UIKit/UIKit.h>

@interface TransparentToolbar : UIToolbar

@end
编辑:在iOS 5+中,也可以简单地设置背景图像(可以是透明的)。这当然是“更干净”的解决方案,但不如自定义
UIView
灵活

[someToolbar setBackgroundImage:[UIImage imageNamed:@"clear"] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];

)()任何iOs

将属性
半透明
设置为
在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];

这对我在iOS 6和iOS 7上的表现很有效:

UIGraphicsBeginImageContextWithOptions(CGSizeMake(1, 1), NO, 0.0);
UIImage *blank = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

[self.toolBar setBackgroundImage:blank forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];

我想我们需要设置属性YesEdite:)只是一个简单的猜测,我以前没有直接使用过工具栏。它对我不起作用。UIToolbar的背景色现在为黑色透明。但我需要清晰的颜色。请参阅与David H的答案匹配的注释。注意:如果将工具栏添加到场景中,则self.navigationController.toolbar不会引用它-这是navigationController拥有的默认工具栏(请参阅)。是否要真正透明的工具栏,或者只是一个半透明的?可能的副本仍然有一个边框显示。有解决办法吗?
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];
[self.toolbar setBackgroundImage:[UIImage new]
              forToolbarPosition:UIToolbarPositionAny
                      barMetrics:UIBarMetricsDefault];

[self.toolbar setBackgroundColor:[UIColor clearColor]];
UIGraphicsBeginImageContextWithOptions(CGSizeMake(1, 1), NO, 0.0);
UIImage *blank = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

[self.toolBar setBackgroundImage:blank forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];