在UIView的边缘添加阴影(图片里面)

时间:2014-01-02 20:38:42

标签: ios cocoa-touch uiview ios7 core-graphics

所以,我正在寻找在UIView边缘添加阴影的最实用的方法,如下图所示。我尝试了一些我读过的方法,但实际上无法让它们像我想的那样工作。如果有人知道苹果在他们的应用程序中如何做到这一点会很好。

图片链接(不想直接在这里发布,因为它非常大):Example image

2 个答案:

答案 0 :(得分:3)

- (void) configureSlideLayer:(CALayer *)layer
{
    layer.shadowColor = [UIColor blackColor].CGColor;
    layer.shadowOpacity = 1;
    layer.shadowOffset = CGSizeMake(-3, 0);
    layer.shadowRadius = 5;
    layer.masksToBounds = NO;
    layer.shadowPath =[UIBezierPath bezierPathWithRect:layer.bounds].CGPath;
}
...
[self configureSlideLayer:self.view.layer];

来源:https://github.com/arturdev/AMSlideMenu

答案 1 :(得分:3)

以下属性处理UIViews上的阴影:

view.layer.shadowOpacity = 0.5;
view.layer.shadowRadius = 25;
view.layer.shadowColor = [UIColor blackColor].CGColor;
view.layer.shadowOffset = CGSizeMake(-3, 0);

该代码将在半透明度下制作黑色阴影,阴影半径为25像素,并向左移动3个像素。您需要将以下导入添加到文件顶部:

#import <QuartzCore/QuartzCore.h>

您可能还需要将QuartzCore框架添加到项目中(如果尚未添加)。