cuốn sách gpt4 ai đã làm

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

In lại Tác giả: Walker 123 更新时间:2023-11-29 01:13:06 28 4
mua khóa gpt4 Nike

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

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

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

câu trả lời hay nhất

您需要考虑创建一个 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
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress