我添加了一个带有PNG图像的子视图,该图像应该显示透明度,但是我的透明度应该是全黑的。
代码是:
- (void)viewDidLoad
{
[super viewDidLoad];
toolbar.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"BannerBackground.png"]];
logoImage = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 120, 56)];
logoImage.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Logo.png"]];
[self.view addSubview:logoImage];
}
这是适用于iPad,iOS版本4.3的代码。我对模拟器和iPad都有同样的问题。
由于这是添加的最后一个视图,我希望它的z索引高于所有其他视图,因此其他视图应该通过透明区域显示。这不起作用。
答案 0 :(得分:1)
I noticed this behaves differently on iOS 4.3.x than 5.0.x。在4.3.x中,我必须将opaque设置为YES,然后设置背景图像,然后将其设置为NO。
答案 1 :(得分:0)
将视图的属性设置为opaque为no。像这样[view setOpaque:NO];
答案 2 :(得分:0)
失败的setOpaque:不...检查你的图像是否正确导出而且没有损坏等...发生在我身上的一次
答案 3 :(得分:0)
使用透明backgroundColor创建一个UIImageView,并将您的徽标作为其图像,并添加:
UIImageView *logoView = [[UIImageView alloc] initWithImage: [UIImage imageNamed:@"Logo.png"]];
logoView.backgroundColor = [UIColor clearColor];
[self.view addSubview:logoView];
答案 4 :(得分:0)
这应该有用。
#import <QuartzCore/QuartzCore.h>
logoImage = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 120, 56)];
logoImage.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Logo.png"]];
[logoImage.layer setOpaque:NO];
logoImage.opaque = NO;
[self.view addSubview:logoImage];
答案 5 :(得分:0)
老问题,但是:例如,你的透明度是否有可能是黑色而且实际上并不透明?不是说我只是那样做了。
(在绘制工具栏图标时,iOS会填充任何像素,包括黑色像素。请确保您的透明区域实际上没有。)