Ios tableViewheader透明背景变为黑色

Ios tableViewheader透明背景变为黑色,ios,xcode,uitableview,png,Ios,Xcode,Uitableview,Png,我已经清除了桌面视图的背景。现在,我创建了一个带有透明背景的PNG图像,并将其设置为tableViewHeader的backgroundView 不知何故,PNG的tranparent背景在tableViewHeader中变为黑色。有人知道怎么回事吗 多谢各位 //Header Layout UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 70)] autorelease]; UILabel

我已经清除了桌面视图的背景。现在,我创建了一个带有透明背景的PNG图像,并将其设置为tableViewHeader的backgroundView

不知何故,PNG的tranparent背景在tableViewHeader中变为黑色。有人知道怎么回事吗

多谢各位

//Header Layout
UIView *headerView =
[[[UIView alloc]
  initWithFrame:CGRectMake(0, 0, 300, 70)]
 autorelease];
UILabel *headerLabel =
[[[UILabel alloc]
  initWithFrame:CGRectMake(10, 10, 300, 40)]
 autorelease];
headerView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"headerBG.png"]];
headerLabel.text = NSLocalizedString(@"Huidig", @"");
headerLabel.textColor = [UIColor redColor];
headerLabel.shadowColor = [UIColor greenColor];
headerLabel.shadowOffset = CGSizeMake(0, 1);
headerLabel.font = [UIFont boldSystemFontOfSize:22];
headerLabel.backgroundColor = [UIColor clearColor];
[headerView addSubview:headerLabel];
tableView.tableHeaderView = headerView;

我试过你的代码,对我来说效果非常好。请再次检查您的tableview。如果您仍然看到问题,请清理(shift+commond+K)并再次编译,或者再次检查您的图像。最后一个选项再次清除tableview

    tableView.backgroundColor = [UIColor clearColor];

不要使用
+colorWithPatternImage
尝试将
headerView
内容设置为图像的背景
CALayer
。对于这种方法,您需要链接并导入

headerView.layer.contents = [UIImage imageNamed:@"headerBG"].CGImage;
你试过了吗

[tableView setBackgroundColor:[UIColor clearColor]];
[tableView setBackgroundView:nil];
试过了吗

[tableView setBackgroundColor:[UIColor clearColor]];
[tableView setBackgroundView:nil];
在你的

-(void)viewDidAppear{
 ....................
 ....................
[tableview reloadData];
}

可能现在就可以了。

当使用[UIColor WithPatternImage:]为UILabel创建背景图像时,我遇到了类似的问题。运行4.2.1(iPhone3G)的设备将图像的透明部分显示为黑色。我曾尝试更改不透明属性,并将图像设置为图层,但两者都不起作用

相反,我实现了一个继承UILabel的新类,并在drawRect中绘制了图像:

- (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextClearRect(context, rect);

    UIImage *image = [UIImage imageNamed:@"graphics/pricetag.png"];
    CGContextDrawImage(context, rect, image.CGImage);
    // Have UILabel draw the text
    [super drawRect:rect];
}