gpt4 book ai didi

ios - self.view 添加 subview ,但让某些 subview 内容不被添加的 subview 覆盖

转载 作者:行者123 更新时间:2023-11-29 01:13:06 28 4
gpt4 key购买 nike

我想向 self.view 添加一个覆盖整个区域的 subview (如调光 View )。但在它下面,有一些 View 我不希望受到添加的 subview 的影响(我不希望这些 View 具有变暗的效果)。这可能吗?

我知道有一个“简单”的解决方案;将那些我不想受到影响的 subview 移到前面(在添加的 subview 之上)但是这对我有不良影响所以我不能使用该解决方案。

我的目标是 iOS 8 及更高版本。

最佳答案

您需要考虑创建一个 CALayer mask从上面的 View 层中减去下面的 subview 帧。

var path = UIBezierPath(rect: topView.frame)

var subviewPath1 = UIBezierPath(rect: subview1.frame)
var subviewPath2 = UIBezierPath(rect: subview2.frame)
path.usesEvenOddFillRule = true
path.appendPath(subviewPath1)
path.appendPath(subviewPath2)

var maskLayer = CAShapeLayer()
maskLayer.path = path.CGPath
maskLayer.fillRule = kCAFillRuleEvenOdd
maskLayer.fillColor = UIColor.whiteColor().CGColor

topView.layer.mask = maskLayer

关于ios - self.view 添加 subview ,但让某些 subview 内容不被添加的 subview 覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35526383/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com