Как вы показываете тень только за пределами заливки UIView?

У меня есть UIView с полупрозрачной заливкой и тенью. Поскольку заливка полупрозрачна, я могу видеть тень за заливкой.

- (id)init
{
    self = [super init];
    if (self) {
        self.backgroundColor = [UIColor colorWithWhite:1.0 alpha:0.8];
        self.layer.shadowColor = [UIColor blackColor].CGColor;
        self.layer.shadowOffset = CGSizeMake(0.0, 0.0);
        self.layer.shadowOpacity = 0.5;
        self.layer.shadowRadius = 2.0;
        self.layer.cornerRadius = 3.0;
    }
    return self;
}

Мне не нравится такое поведение. Я ничего не вижу за видом, потому что непрозрачность заливки + непрозрачность тени> 100%. Как мне сделать это как CSS, где тень рисуется только за пределами рамки?

.someStyle {
   background: white;
   opacity: 0.8;
   box-shadow: 0 0 1em rgba(0,0,0,0.5);
}
13
задан Pwner 25 May 2012 в 23:05
поделиться