设置视图透明但保持按钮等不透明

时间:2013-03-02 11:37:29

标签: objective-c cocoa-touch quartz-2d

我有两个视图,一个在后面有一个UIImageView作为背景。然后我在ImageView前面有另一个视图,其中包含标签,按钮和路径,例如圆圈和rects。我希望第二个视图(带有按钮等的视图)是透明的,以便ImageView完全可见,但保持按钮,标签和路径不透明。我已将第二个视图(带有按钮等的视图)设置为alpha 0.5,将按钮和标签设置为IB中的1。在我的代码中,我也设置了alpha 1的路径。但是当我运行它时,按钮,标签和路径也像视图一样透明。我如何仅将视图的透明度设置为alpha 0并将其他所有内容保持为alpha?

1 个答案:

答案 0 :(得分:0)

  

我希望第二个视图(带按钮等的视图)是透明的,以便imageview完全可见

您需要清除该视图的backgroundColor

view.backgroundColor = [UIColor clearColor];

视图的alpha设置也适用于其子视图,没有办法解决它。

顺便说一下,如果您的第一个视图只包含图片,您也可以删除它并将该背景图片设置为第二个视图的backgroundColor

view.backgroundColor = [UIColor colorWithPatternImage:backgroundImage];