我想要透明的UIView,但不是我添加的元素

时间:2015-01-23 05:04:07

标签: ios objective-c uiview background transparent

首先对标题感到抱歉。我不知道如何准确地传达我的问题。所以我的问题是我在UIView的背景中设置了黑色,并且我已经使它变得透明。但是我添加的UI元素(例如Buttons,Labels等)也随着UIView而逐渐消失。例如,如果我将UIView的alpha设置为0.5,那么它会自动应用于我在UIView上添加的所有我不想要的控件。所以请告诉我如何保存元素免于褪色。

4 个答案:

答案 0 :(得分:1)

如果您只需要使view透明而不是subviews,那么请使用

self.view.backgroundColor=[UIColor clearColor];

它的作用是,它会使背景view透明,而设置alpha属性也会淡化subviews

答案 1 :(得分:1)

而不是写代码。我们也可以在Interface Builder中设置它。通过在IB中的属性检查器中选择背景颜色,您必须单击背景颜色属性并选择其他,然后您可以直接设置所需的alpha或任何颜色,从而减少代码。See here

@Rahul

答案 2 :(得分:0)

您可以使用以下内容:

view.backgroundColor=[[UIColor alloc] initWithRed:0 green:0 blue:0 alpha:0.5];

这会将透明度仅保留在背景中,而不是子视图。

答案 3 :(得分:0)

您需要做的是,不要更改alpha的{​​{1}},而是将UIView设置为所需的透明度,例如如果你想要半透明黑色,请backgroundColor

祝你好运!