Ios UIView在视图外绘制阴影';s框架

Ios UIView在视图外绘制阴影';s框架,ios,cocoa-touch,uiview,uikit,calayer,Ios,Cocoa Touch,Uiview,Uikit,Calayer,我有一个要求,我必须在视图的框架之外绘制视图的阴影。我们已经有了复杂的视图层次/分层,现在不可能更改视图的帧和布局以适应viewController视图边界内的阴影 1.我在这里有点担心是否允许我通过以下方法画出视野之外的阴影: “您还可以创建一个放置阴影,该阴影将基于视图中绘制的任何对象的alpha组件。这通常会导致视图边缘周围出现阴影。UILabel上的示例代码如下: 在这种情况下,您需要将clipsToBounds设置为NO,以便在视图框架外显示阴影。接下来,我将向您展示如何实际组合圆角和

我有一个要求,我必须在视图的框架之外绘制视图的阴影。我们已经有了复杂的视图层次/分层,现在不可能更改视图的帧和布局以适应viewController视图边界内的阴影

1.我在这里有点担心是否允许我通过以下方法画出视野之外的阴影:

“您还可以创建一个放置阴影,该阴影将基于视图中绘制的任何对象的alpha组件。这通常会导致视图边缘周围出现阴影。UILabel上的示例代码如下:

在这种情况下,您需要将clipsToBounds设置为NO,以便在视图框架外显示阴影。接下来,我将向您展示如何实际组合圆角和阴影,因为我相信这是您现在真正想要做的。”

参考:

2.现在,我遇到了一些线索,告诉我不鼓励在视图外绘制阴影。但没有给出解释:

有什么理由不应该在视图框架外绘制阴影(CALayer)吗?或者,按照第一种方法可以吗

谢谢,
拉吉

我认为绝对没有理由不这样画阴影,坦率地说,这是唯一的办法。为什么你“不被允许”在边界外画一个阴影?这就是
clipstobunds
属性的用途

label.layer.shadowColor = [UIColor blackColor].CGColor;
label.layer.shadowOpacity = 1.0;
label.layer.shadowRadius = 5.0;
label.layer.shadowOffset = CGSizeMake(0, 3);
label.clipsToBounds = NO;