Nie rozumiem, jak usunąć cień dodany do widoku. dodaję do mojego widoku w initWithFrame
cień w ten sposób:Dodawanie i usuwanie cieni przez iOS z widoku
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];
Po w realizacji aplikacji Chcę usunąć cień z tym poglądem. Próbowałem przy użyciu:
layer.hidden = YES;
lub
self.layer.hidden = YES;
ale to ukrywa widok całkowicie, a nie tylko dodatkowy cień.
Czy istnieje sposób na odzyskanie dodanego cienia z widoku, a następnie jego ukrycie? Dzięki!
Czy istnieje powód? deklarujesz lokalną zmienną 'layer' wskazującą na' self.layer' w środku twojego kodu? –
Czytałem, że mogłoby być lepiej z powodu wydajności zadeklarować shadowPath z UIBezierPath, prawda? istnieje najlepsza praktyka, aby to zrobić? –