Mit dem Code unten, bin ich erfolgreich Maskierung Teil meiner Zeichnung, aber es ist das Gegenteil von dem, was ich maskiert werden soll. Dies maskiert den inneren Teil der Zeichnung, wo ich den äußeren Teil maskieren möchte. Gibt es eine einfache Möglichkeit, diese Maske zu invertieren?iOS invertieren Maske in DrawRect
myPath
unten ist ein UIBezierPath
.
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
CGMutablePathRef maskPath = CGPathCreateMutable();
CGPathAddPath(maskPath, nil, myPath.CGPath);
[maskLayer setPath:maskPath];
CGPathRelease(maskPath);
self.layer.mask = maskLayer;
Mai werden Sie diese Frage beantworten: http://stackoverflow.com/questions/30360389/ Use-Layer-Maske-to-make-Teile-von-der-Uiview-transparent – confile
Diese Antwort ist großartig und funktioniert einwandfrei. –
wurde CGPathRelease (maskPath) entfernt? es funktioniert aber kann ich ein Speicherleck bekommen? (Swift 2.2, iOS 9.0) Konnte keinen Hinweis darauf finden. – Maik639