これは私のコードです。
listView.layer.masksToBounds = NO;
listView.layer.shadowOffset = CGSizeMake(-3, 3);
listView.layer.shadowColor=[[UIColor blackColor] CGColor];
listView.layer.shadowRadius = 4;
listView.layer.shadowOpacity = 1.0;
[listView.layer setShouldRasterize:YES];
シャドウ効果でうまく機能します。
変化しながら
listView.layer.masksToBounds = YES;
シャドウ効果が得られませんでした。
影は実際にはUIViewの下に描画されます。 maskToBoundsをYESに設定すると、UIViewフレームの外にあるすべての描画がクリップされます。 これは、SOこれをより詳細に説明するリンクです
影はレイヤーの境界の外側に描画されます。影を見るにはlistView.layer.masksToBounds = NO
を設定する必要があります
listView.layer.masksToBounds = YES
を設定すると、境界の外に何も描画できないため、影を取得できません
masksToBounds = YES;
を使用する必要がある場合は、チェックアウト this SO post を使用してください。これは、(この特定の場合) 2つのネストされたビューを使用したビュー:外側のビューは影を落とし、境界をマスクしませんが、内側のビューは角を丸めて境界をマスクします。