iPhone - UIView背景颜色 - 使用透明度的png?

时间:2010-10-30 16:04:54

标签: iphone uiview png transparency background-color

我正在设置我的UIView(在UIViewController中)的背景颜色,如下所示:

myView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"myTransparentBG.png"]];

我甚至尝试弄乱[myView setOpaque:NO];,但图片看起来并不透明。它有黑色背景。我是否愿意以编程方式修复此问题?否则,我们应该如何为我们的视图设置透明背景?

这似乎是一个本来应该问过的问题,但我找不到答案。

3 个答案:

答案 0 :(得分:32)

使用透明图案时,在设置backgroundColor属性后,需要在视图及其图层上将opaque属性设置为NO。这是一个示例:

UIView* paperView = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,700)];
paperView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"paper.png"]];

[paperView.layer setOpaque:NO];
paperView.opaque = NO;

答案 1 :(得分:0)

我从来没有真正这样做过,但这就是我要尝试的。

将UIView的.backgroundColor设置为[UIColor clearColor]。然后将包含PNG的UIImageView作为UIView的子视图堆栈上的“最低”项。确保UIImageView的背景颜色也很清晰。

答案 2 :(得分:-1)

使用:myView.backgroundColor = [UIColor clearColor];

这会将其设置为透明背景。