UILabel对UIImageView的透明度很奇怪

时间:2014-10-24 12:55:35

标签: ios objective-c uiimageview uilabel transparency

我正在开发应用程序,我遇到以下问题(见图)。

我的backgroundview颜色是黑色。 在这个视图中,我的镜像视图的alpha值为0.5

  _backgroundImageView.alpha = 0.5;

在这个imageView上我有一个标签,一个按钮和另一个图像,但我不知道为什么我的imageview上的所有内容都有点透明,我不想那样。

我试图在我的imageview上将alpha设置为我的所有内容中的一个,但我不工作....

也许有人有想法?

这里是我的观察组织: enter image description here

这是我的应用程序 enter image description here

更新 我试过这个,但仍然没有工作: _poiDetailsView是如何包含我的uiscrollview的视图。

   _poiDetailsView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5];

我也尝试了这个:

  [_backgroundImageView setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:1]];

3 个答案:

答案 0 :(得分:0)

无论您如何手动设置,Superview的alpha都会始终设置在子视图中。

覆盖这种奇怪行为的一种方法是使用colorWithAlphaComponent用于彩色的子视图,但我不确定它是否也可用于图像。

如果您重新组织视图,以便子视图位于不同的视图中,而不是作为低视图的视图的子视图,则可以避免此问题。

答案 1 :(得分:0)

如果您希望在应用Alpha之前合成您的观看次数,请将UIViewGroupOpacity == YES添加到您的info.plist

答案 2 :(得分:0)

我用以下一行解决了我的问题:

_poiDetailsView.backgroundColor = [UIColor clearColor];


_backgroundImageView.image = [UIImage imageNamed:@"burritos"];

[_backgroundImageView setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.5]];
_backgroundImageView.alpha = 0.5;

不在.plist中添加UIViewGroupOpacity。这样做很好,只是不要忘记将故事板中的backgroundcolor设置为默认值。

度过愉快的一天。