iOS如何使透视视图的子视图不透明?

时间:2014-09-28 02:53:35

标签: ios

我有一个视图作为另一个视图的子视图,然后我将父视图的alpha值设置为0.5,但这也使得子视图即使在其alpha值设置为1时也是透明的。所以我该如何制作当子视图的父视图的alpha值小于1时,子视图是否为非透明(不透明)

6 个答案:

答案 0 :(得分:15)

你最接近的是colorWithAlphaComponent:。使用类似下面的内容,您可以设置父视图背景的alpha分量,它不会影响子视图。

[yourSuperview setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.5]];

答案 1 :(得分:1)

如果将父视图设置为0.5,则所有子视图也将变为0.5或更小。你必须提出不同的设计方法。

答案 2 :(得分:1)

以下方法对我有用。

...
        //XDDFChartData.Series series = data.getSeries().get(index);
        XDDFChartData.Series series = data.getSeries(index);
...

现在,超级视图的alpha属性未更改,它不会影响其子视图的alpha。因此,子视图将是不透明的(如果您具有背景色)。

答案 3 :(得分:0)

父视图应该有两个设计。一个是"启用"设计,显示它,另一个是"残疾"设计,包含透明背景。

您无法使用alpha执行此操作,因为子视图会继承alpha。如果

parent.alpha = x

view.alpha = y,

然后视图的真正alpha将是:

x * y

答案 4 :(得分:0)

我想,你已经创建了View by Storyboard。我已经面临这个问题。找到下面的代码,这在我的情况下是正确的。

[MyParentView setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.6]];

希望,这可能对你有帮助。

答案 5 :(得分:0)

对于Swift 4.2

    self.yoursuperview.backgroundColor = UIColor.black.withAlphaComponent(0.5)