の下に影を描画しようとしていNSImageView
ます。ビューの にアクセスし、CALayer
そこでシャドウ プロパティを設定しています。
[self.originalImageView setWantsLayer:YES];
CALayer *imageLayer = self.originalImageView.layer;
[imageLayer setShadowRadius:5.f];
[imageLayer setShadowOffset:CGSizeZero];
[imageLayer setShadowOpacity:0.5f];
[imageLayer setShadowColor:CGColorCreateGenericGray(0, 1)];
imageLayer.masksToBounds = NO;
しかし、マスクを境界に NO として設定しても、次のようになります。
影をよく見てください。横はきれいに表示されていますが、縦はクリッピングされています。画像はアスペクト フィッティングされ、画像と画像ビューの両方を任意のサイズにすることができます。レイヤーの影の代わりに試してみると、NSShadow
まったく同じ結果が得られます。iOS で使用できmyView.clipsToBounds = NO
、以前はこの問題を解決していましたが、Mac ではそのプロパティが見つかりません。
NSImageView
クリッピングせずに任意のサイズで影を描くにはどうすればよいですか?