Shadow не отображается для UIView с использованием CALayer

У меня есть подкласс UIView , загруженный из пера, и я не могу нарисовать тень вокруг него. Я уже довольно давно пытаюсь создать тень вокруг всего вида. Я решил разместить его на собственном подслое, чтобы упростить анимацию позже. Вот код:

-(void)awakeFromNib 
{
    self.clipsToBounds = NO;

    // set up the shadow layer
    CALayer *shadow = [CALayer layer];
    shadow.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, self.bounds.size.width, self.bounds.size.height);
    shadow.shadowColor = [UIColor blueColor].CGColor;
    shadow.shadowRadius = 15.0;
    shadow.opacity = 1.0;
    [self.layer addSublayer:shadow];
    // I set this property so I have access to it later to more easily animate it.
    self.shadowLayer = shadow;
}

Когда я NSLog свойство shadowLayer , координаты и кадр верны. Это соответствует той точке зрения, которую поддерживает.

Я также установил цвет границы и радиус угла на self.layer , и он отображается правильно. Если я помещаю тень на самослой , он появляется, но охватывает все подпредставления моего родительского UIView .

Любая помощь приветствуется.

6
задан David Nix 8 November 2011 в 15:52
поделиться