这让我很难过。我有一个 UIView(称之为“父级”)。该 View 的最底部 subview 是 UIImageView(称为“子”),其框架占据了整个“父”边界。
我想在“父” View 上圆角,并设置一个阴影。我在 CALayer
上执行此操作像往常一样的“ parent ”:
[[parent layer] setShadowOffset:CGSizeMake(5, 5)];
[[parent layer] setShadowRadius:6];
[[parent layer] setShadowOpacity:0.4];
[[parent layer] setCornerRadius:6];
这会正确显示阴影,但不会圆角。
这是踢球者:
似乎“子” ImageView 只是遮盖了“父” View 上的圆角,因为它占据了整个矩形,并且基于父 View 的剪辑得到了角落,但也掩盖了阴影。不知道为什么#3 不起作用。
我错过了什么?我是否因为盯着这个太久而忽略了一些明显的东西?
谢谢。
(令人震惊的是,标签“roundedcorners-dropshadow”已经存在。太棒了。)
最佳答案
您将需要两个嵌套 View ,内部一个设置圆角并裁剪到边界,外部 View 具有阴影(因此不裁剪)。在您的情况下,内部和外部 View 可能是“子”和“父”,但我猜您没有为这些 View 设置正确的裁剪值?
请参阅 Why masksToBounds = YES prevents CALayer shadow? 中的答案.
关于uiview - 无法在 ImageView 拉伸(stretch)到其边界的图层上设置cornerRadius和阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3705687/