swift - 两个半透明矩形重叠而不改变公共(public)区域颜色

标签 swift core-graphics calayer quartz

我有很多 CALayer,每个 CALayer 里面都有一个半透明的绿色矩形。当我将所有这些图层添加到 View 图层上时,公共(public)区域会改变颜色,如图所示。

是否有任何简单的方法可以避免这种情况,而不必每次向 View 添加图层时都寻找交集? enter image description here

最佳答案

我不确定这是否有帮助,但如果您的矩形将具有相同的颜色(在本例中为相同的绿色),那么:

  1. 将所有绿色矩形包裹在父 DIV 中
  2. 将父容器的不透明度设置为您设置的半透明值 想要矩形(例如 30%)
  3. 将各个子矩形的不透明度设置为 100%,因为半透明是通过父容器的不透明度实现的

结果:矩形将是半透明的,但当矩形重叠时,不透明度不会增加。

关于swift - 两个半透明矩形重叠而不改变公共(public)区域颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40592218/

相关文章:

xcode - Mac - 添加 CoreGraphics.framework,用于 C header 中的 CG

ios - 我该如何修复 CGContextRestoreGState : invalid context 0x0

iphone - 在自定义 UITableViewCell 中绘制一条线

iphone - 是否有用于 CALayer HitTest 的 MouseChildren?

ios - 使用 CocoaPods 作为 "Charts"框架。 swift 2

swift - 从 TableViewController 中删除单元格

ios - CALayer renderInContext : causing unknown crash

uiscrollview - 将 UIScrollView 的底部淡化为透明

ios - 如何快速截取 UIView 的屏幕截图?

ios - UITextView 中的 AttributedString 在顶部被修剪