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

我有一个视图作为另一个视图的子视图,然后我设置父视图的alpha值类似0.5,但这也使得子视图透明,即使其alpha值设置为1.所以我怎么能使子视图非 – 父视图的alpha值小于1时,是否透明(不透明)?

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

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

如果将父视图设置为0.5,则所有的子视图也将变为0.5或更小。 你将不得不想出一个不同的devise方法。

你应该有两个父视图的devise。 一个是“启用”devise,将其显示为“已启用”devise,另一个将是“禁用”devise,其中包含透明背景。

你不能用alpha来做到这一点,因为子视图inheritance了alpha。 如果

parent.alpha = x

view.alpha = y,

那么这个观点的真正意义在于:

x * y

我想,你已经创build了故事板查看。 我已经面对这个问题。 find下面的代码,这在我的情况是正确的。

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

希望,这可能会帮助你。