Core Animationなどをポリポリ研究

  1. CALayerのShadow

    まず、layer.shadowOpacityがdefaultで0なので、これを設定しないと影が出ない。

    で、以下だけだとパフォーマンスがやたら悪いので

    layer.shadowRadius = 3;

    layer.shadowColor = [UIColor blackColor].CGColor;

    layer.shadowOpacity = 0.5;

    layer.shadowOffset = CGSizeMake(1, 3); //defaultは 0, -3

    これを追加すると(Pathを渡すと)めちゃめちゃ速い。

    layer.shadowPath = [UIBezierPath bezierPathWithRect:self.bounds].CGPath;

    CALayerのShadowは、PathをLayerの裏側で描画してくれる機能と考えていい。

    Pathはどんな形でもいいので、星形のPathを渡せばそれが描画される。

    当然ながら、.maskToBounds=YESするとClipされて描画されなくなるので注意。

Theme = Manuscript Neue