Với mã bên dưới, tôi đã che thành công một phần bản vẽ của mình, nhưng đó là nghịch đảo của những gì tôi muốn đeo mặt nạ. Mặt nạ này là phần bên trong của bản vẽ, nơi tôi muốn che phần bên ngoài. Có cách nào đơn giản để đảo ngược mặt nạ này không?Mặt nạ đảo ngược iOS trong drawRect
myPath
bên dưới là UIBezierPath
.
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
CGMutablePathRef maskPath = CGPathCreateMutable();
CGPathAddPath(maskPath, nil, myPath.CGPath);
[maskLayer setPath:maskPath];
CGPathRelease(maskPath);
self.layer.mask = maskLayer;
Có thể bạn có thể trả lời câu hỏi này quá: http://stackoverflow.com/questions/30360389/ use-layer-mask-to-make-parts-of-the-uiview-transparent – confile
Câu trả lời này rất tuyệt vời và hoạt động hoàn hảo. –
là CGPathRelease (maskPath) đã bị xóa chưa? nó hoạt động nhưng tôi có thể bị rò rỉ bộ nhớ không? (Swift 2.2, iOS 9.0) Không thể tìm thấy bất kỳ tham chiếu nào đến nó. – Maik639