我想要透明的 UIView 但不是我在其上添加的元素

I want transparent UIView but not the elements which I added over it

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

您可以使用类似的东西:

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

这将只对背景而不是子视图保持透明度。

您需要做的是,不要更改 UIViewalpha,而是将 backgroundColor 设置为所需的透明度,例如如果你想要半透明的黑色,做view.backgroundColor = [UIColor colorWithWhite:0. alpha:.5];

祝你好运!

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

self.view.backgroundColor=[UIColor clearColor];

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

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

@拉胡尔