Ich versuche, Ansichten, die übereinander liegen, einen Schlagschatten hinzuzufügen. Die Ansichten werden reduziert, sodass Inhalte in anderen Ansichten angezeigt werden können. In diesem Sinne möchte ich eingeschaltet bleiben, view.clipsToBounds
damit beim Reduzieren der Ansichten deren Inhalte abgeschnitten werden.
Dies scheint es mir schwer gemacht zu haben, den Ebenen einen Schlagschatten hinzuzufügen, da beim clipsToBounds
Einschalten auch die Schatten abgeschnitten werden.
Ich habe versucht zu manipulieren view.frame
und view.bounds
um dem Rahmen einen Schlagschatten hinzuzufügen, aber die Grenzen sollten groß genug sein, um ihn zu erfassen, aber ich hatte kein Glück damit.
Hier ist der Code, mit dem ich einen Schatten hinzufüge (dies funktioniert nur mit clipsToBounds
AUS wie gezeigt)
view.clipsToBounds = NO;
view.layer.shadowColor = [[UIColor blackColor] CGColor];
view.layer.shadowOffset = CGSizeMake(0,5);
view.layer.shadowOpacity = 0.5;
Hier ist ein Screenshot des Schattens, der auf die hellste graue Ebene angewendet wird. Hoffentlich gibt dies eine Vorstellung davon, wie sich mein Inhalt überschneidet, wenn clipsToBounds
AUS ist.
Wie kann ich meinem Schatten einen Schatten hinzufügen UIView
und meinen Inhalt beschneiden lassen?
Bearbeiten: Ich wollte nur hinzufügen, dass ich auch mit Hintergrundbildern mit Schatten herumgespielt habe, was gut funktioniert, aber ich würde immer noch gerne die beste codierte Lösung dafür kennen.
masksToBounds = NO;
zu meinem Original hinzuzufügen. Bei beiden Versuchen, die ichclipsToBounds = YES;
aktiviert habe, konnten beide den Inhalt nicht ausschneiden. Hier ist eine Bildschirmabdeckung dessen, was mit Ihrem Beispiel passiert ist