iPhone-UIView';s背景色-使用具有透明度的png?

iPhone-UIView';s背景色-使用具有透明度的png?,iphone,uiview,png,transparency,background-color,Iphone,Uiview,Png,Transparency,Background Color,我正在设置UIView(在UIViewController中)的背景色,如下所示: myView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"myTransparentBG.png"]]; 我甚至尝试过使用[myView set不透明:否]但图像看起来不是透明的。它有一个黑色的背景。我能用编程的方式解决这个问题吗?否则,我们应该如何为视图设置透明背景 这似乎是一个以前应该问的问题,但我找不到答案。

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

myView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"myTransparentBG.png"]];
我甚至尝试过使用
[myView set不透明:否]但图像看起来不是透明的。它有一个黑色的背景。我能用编程的方式解决这个问题吗?否则,我们应该如何为视图设置透明背景


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

使用这个:myView.backgroundColor=[UIColor clearColor]


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

我从来没有这样做过,但我会尝试以下内容


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

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

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;

在上面?我希望图像成为背景。我在视图中有其他UI元素。如果你将UIView颜色设置为clearColor,那么它将是透明的。根据图像和其他视图的顺序,您可以随意使用它们。事实上,没有太多理由保留UIView,我最终只是使用UIImageView,然后将所有其他元素添加为该视图的子视图,效果非常好。@RyanJM Oh yeah。我有时会忘记,作为UIView子视图,UIImageView可以愉快地保存子视图……啊哈,这是正确的答案。我没有设置图层的不透明属性。谢谢有趣的是,在设置背景图像后必须设置不透明属性。一定是渲染引擎的一部分。谢谢Sam,我也有同样的问题。另外:这段代码的最后两行也做了同样的事情。非常感谢。。。我一直在找这个。再次感谢。这是我最好的答案之一。