次のように、ビューにシャドウを追加しています (パフォーマンスが向上するように shadowPath を含めます)。
CALayer *layer=aView.layer;
layer.shadowColor=[UIColor blackColor].CGColor;
layer.shadowOpacity=0.8f;
layer.shadowOffset=CGSizeMake(4.0f,4.0f);
layer.shadowRadius=6.0f;
layer.masksToBounds=NO;
layer.shouldRasterize=YES;
layer.shadowPath=[UIBezierPath bezierPathWithRect:aView.bounds].CGPath;
しかし、デバイスが回転してビューフレームが変更されると、影がうまくいきません(遠く離れているなど)
layoutSubviews メソッドで影をリセットしようとしましたが、回転中に影が画面上を移動するのを見ることができます。
回転中にシャドウ パスを処理するための正しいアプローチは何ですか?
(最後の手段として、影を削除してから回転後に元に戻しますが、それは不格好であり、コントローラによってデバイスの向きが完了したときにビューに通知する必要があります:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
ローテーションが完了したことを VIEW が認識できるようにするためのより良い方法はありますか?)