Mir ist Dein Vorgehen nicht ganz klar. Grundsätzlich solltest Du zwischen der Darstellung des Bildes und der Blende trennen. Noch einmal die unterschiedlichen Lösungswege:
- Du legst die Blende auf das Bild. Dann zeichnest Du den Rahmen und lässt das Innere transparent.
- Du legst das Bild vor einen Hintergrund in der Farbe der Blende. Da maskierst Du den verdeckten Bereich durch eine Maske aus. Für die Maske verwendest Du einen Layer den Du an theImageView.layer.mask zuweist. Für dieses Vorgehen brauchst Du nur eine Klasse für den Layer. Die Views sind Standardviews. Für die Animation kannst Du dann CoreAnimation verwenden.
„Meine Komplikation hatte eine Komplikation.“