【问题标题】:How to remove transparency for an UIView in iOS 7如何在 iOS 7 中删除 UIView 的透明度
【发布时间】:2014-10-09 10:39:57
【问题描述】:

我的情况很复杂。 PFB代码

UIView *whiteView ;
whiteView.backgroundColor = [UIColor whiteColor] ;
whiteView.alpha = 1.0 ;
UIView *blackView ;
blackView.backgroundColor = [UIColor blackColor] ;
blackView.alpha = 0.6 ;
blackView.frame = self.view.frame ;
[blackView addSubview:whiteView] ;
self.view.backgroundColor = [UIColor blueColor] ;
[self.view addSubview:blackView] ;

现在,如果我运行应用程序,whiteView 不会显示纯白色。但它显示透明的白色和蓝色混合。

如何使这个视图变成纯白色?

我尝试将图像添加到 whiteView。没用。

【问题讨论】:

  • 白色视图的 alpha 将通过其父视图的 alpha 的简单乘法计算得出:1.0 * 0.6 = 0.6

标签: ios objective-c ios7 uiview


【解决方案1】:

whiteView 是透明的,因为它位于 blackView 内部(您已将 alpha 设置为 0.6),这意味着任何子视图也是透明的。

尝试将whiteView移出blackView(但在添加blackView后将其添加到self.view中,这样它将位于顶部)

【讨论】:

    【解决方案2】:

    因为您将 whiteview 添加为 blackview 的子视图,所以您还设置了 blackview 的 alpha。 因为黑色视图是白色视图的超类,所以它的 alpha 标签与白色视图相同。 您可以像交换白视图和黑视图一样执行此操作。使 blackview 到 whiteview 的子视图,然后将 whiteview 子视图到 self.view

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-31
      • 1970-01-01
      • 1970-01-01
      • 2014-01-21
      • 1970-01-01
      • 2015-01-11
      • 2015-02-17
      • 2015-12-21
      相关资源
      最近更新 更多