如何在iOS上的图片视图下添加投影效果?

时间:2016-07-01 03:54:27

标签: ios objective-c ipad storyboard

我想在UIImageView个实例下添加阴影效果,如下面的屏幕截图所示:

enter image description here

如何通过故事板或代码(Objective-C)实现这一目标?

3 个答案:

答案 0 :(得分:4)

//Drop Shadow
[view.layer setShadowColor: [UIColor grayColor].CGColor];
[view.layer setShadowOpacity:0.8];
[view.layer setShadowRadius:3.0];
[view.layer setShadowOffset:CGSizeMake(2.0, 2.0)];

答案 1 :(得分:2)

请尝试一次: -

UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:view.bounds];
view.layer.masksToBounds = NO;
view.layer.shadowColor = [UIColor blackColor].CGColor;
view.layer.shadowOffset = CGSizeMake(0.0f, 5.0f);
view.layer.shadowOpacity = 0.5f;
view.layer.shadowPath = shadowPath.CGPath;

说明: - 如上一步所示,使用Core Animation添加阴影时需要一些不同的属性。如果您不熟悉Core Animation,请不要担心,只需关注影子代码而不是视图上的CALayer

shadowOffset是一个CGSize,表示从路径偏移阴影的距离。

shadowColor是阴影的颜色。阴影颜色应始终不透明,因为不透明度将由shadowOpacity属性设置。 shadowColor属性为CGColor,而非UIColor

shadowRadius是阴影路径上阴影的宽度

shadowOpacity确定阴影的不透明度。

shadowPath可能是最重要的属性。虽然可以在不指定路径的情况下绘制阴影,但出于性能原因,您应始终指定一个阴影。这条路径告诉Core Animation视图的不透明区域是什么,没有它,事情会严重减慢!它是CGPath,使用UIBezierPath(仅限iOS)最容易创建,如步骤2所示。

http://nscookbook.com/2013/01/ios-programming-recipe-10-adding-a-shadow-to-uiview/

中查看详情

答案 2 :(得分:0)

那些不是灯光,而是阴影。您可以使用该图层为UI元素绘制阴影。