Nehmen Sie an, dass Ihr Bild in einer Ansicht angezeigt wird - wahrscheinlich eine UIImageView. Dann können wir ein rechteckiges Loch in diese Ansicht stanzen, indem Sie die Ebene der Ansicht maskieren . Jede Ansicht hat eine Ebene. Wir werden auf die Ebene dieser Ansicht eine Maske anwenden, die selbst eine Ebene ist, die ein Bild enthält, das wir im Code erzeugen werden. Das Bild wird schwarz sein, bis auf ein klares Rechteck irgendwo in der Mitte. Dieses durchsichtige Rechteck wird das Loch in der Bildansicht verursachen.
Lassen Sie also self.iv
diese UIImageView sein. Versuchen Sie, diesen Code auszuführen:
In diesem Bild ist das weiße Quadrat beispielsweise kein überlagertes Quadrat, sondern ein Loch, das das Weiß des dahinter liegenden Fensters zeigt:
BEARBEITEN : Ich fühle mich verpflichtet, da ich es in einem Kommentar erwähnt habe, um zu zeigen, wie man dasselbe mit einem CAShapeLayer macht. Das Ergebnis ist genau das gleiche:
%Vor%Tags und Links objective-c iphone cocoa-touch uiimage