互いに重なっているビューにドロップシャドウを追加しようとしています。ビューが折りたたまれて、他のビューのコンテンツが表示されます。このview.clipsToBounds
ため、ビューを折りたたむとコンテンツがクリップされるように、オンのままにしておきます。
これにより、レイヤーにドロップシャドウを追加することが難しくなったようですclipsToBounds
。オンにすると、シャドウもクリップされるためです。
私が操作しようとしているview.frame
とview.bounds
私はこれとは運を持っていなかったが、フレームにドロップシャドウを追加しますが、境界は、それを包囲するのに十分大きなことを可能にするために。
シャドウを追加するために使用しているコードは次のとおりです(これはclipsToBounds
図のようにOFFでのみ機能します)
view.clipsToBounds = NO;
view.layer.shadowColor = [[UIColor blackColor] CGColor];
view.layer.shadowOffset = CGSizeMake(0,5);
view.layer.shadowOpacity = 0.5;
以下は、一番上の灰色のレイヤーに適用されている影のスクリーンショットです。うまくいけば、clipsToBounds
OFFの場合にコンテンツがどのように重複するかがわかります。
シャドウを追加しUIView
てコンテンツをクリップしたままにするにはどうすればよいですか?
編集:シャドウをオンにした背景画像の使用も試してみましたが、これはうまく機能しますが、これに最適なコード化されたソリューションを知りたいと思っています。
masksToBounds = NO;
私のオリジナルに追加しようとしました-両方の試みで私はclipsToBounds = YES;
オンに保ちました-どちらもコンテンツをクリップできませんでした。例で何が起こったかのスクリーン