我有一个要求,需要绘制视图的阴影超出视图的边框。我们已经有复杂的视图层次结构/分层,并且现在无法更改视图的框架和布局以适应viewController的视图界限内的阴影。
1. 我有些担心,是否可以通过以下方法绘制视图外的阴影:
“您还可以创建基于视图中绘制内容的Alpha组件的投影。通常,这将导致阴影仅在视图的边缘周围。此示例代码是UILabel:”
在这种情况下,您需要将 clipsToBounds 设置为 NO,才能使您的视图边框外的阴影显示出来。 接下来,我将向您展示如何实际上结合圆角和投影阴影,因为我相信这正是您现在想要做的。
参考:http://bynomial.com/blog/?p=52 2. 现在,我发现有些线程告诉我们不鼓励在视图外面绘制阴影。 但没有解释原因:How can I draw a shadow beyond a UIView's bounds? 是否有任何原因,我们不应该在视图的框架外绘制阴影(CALayer)? 或者,按照第一种方法是否可以呢?
谢谢, Raj
1. 我有些担心,是否可以通过以下方法绘制视图外的阴影:
“您还可以创建基于视图中绘制内容的Alpha组件的投影。通常,这将导致阴影仅在视图的边缘周围。此示例代码是UILabel:”
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;
在这种情况下,您需要将 clipsToBounds 设置为 NO,才能使您的视图边框外的阴影显示出来。 接下来,我将向您展示如何实际上结合圆角和投影阴影,因为我相信这正是您现在想要做的。
参考:http://bynomial.com/blog/?p=52 2. 现在,我发现有些线程告诉我们不鼓励在视图外面绘制阴影。 但没有解释原因:How can I draw a shadow beyond a UIView's bounds? 是否有任何原因,我们不应该在视图的框架外绘制阴影(CALayer)? 或者,按照第一种方法是否可以呢?
谢谢, Raj