Ich verstehe nicht, wie Sie einen Schatten entfernen, der zu einer Ansicht hinzugefügt wurde. füge ich in initWithFrame
einen Schatten auf diese Weise meiner Sicht:iOS Hinzufügen/Entfernen von Schatten aus einer Ansicht
self.layer.borderWidth = 2;
self.layer.borderColor = [UIColor clearColor].CGColor;
self.backgroundColor = [UIColor greenColor];
[self.layer setCornerRadius:8.0f];
CALayer *layer = self.layer;
layer.shadowOffset = CGSizeMake(2, 2);
layer.shadowColor = [[UIColor blackColor] CGColor];
layer.cornerRadius = 8.0f;
layer.shadowRadius = 3.0f;
layer.shadowOpacity = 0.80f;
layer.shadowPath = [[UIBezierPath bezierPathWithRect:layer.bounds] CGPath];
Nachdem in der Ausführung der App ich den Schatten von dieser Ansicht entfernen möchten. Ich habe versucht mit:
layer.hidden = YES;
oder
self.layer.hidden = YES;
aber versteckt die Ansicht vollständig, nicht nur den zusätzlichen Schatten.
Gibt es eine Möglichkeit, den hinzugefügten Schatten aus einer Ansicht abzurufen und dann zu verbergen? Danke!
Gibt es einen Grund Sie deklarieren eine lokale 'layer'-Variable, die auf' self.layer' in der Mitte Ihres Codes zeigt? –
Ich lese, dass aus Gründen der Leistung besser sein könnte, deklarieren Sie einen ShadowPath mit UIBezierPath, nicht wahr? gibt es eine Best Practice dafür? –