效果图:
以下代码实现:
第一个图片的代码
- //加阴影--任海丽编辑
- _imageView.layer.shadowColor = [UIColor blackColor].CGColor;//shadowColor阴影颜色
- _imageView.layer.shadowOffset = CGSizeMake(4,4);//shadowOffset阴影偏移,x向右偏移4,y向下偏移4,默认(0, -3),这个跟shadowRadius配合使用
- _imageView.layer.shadowOpacity = 0.8;//阴影透明度,默认0
- _imageView.layer.shadowRadius = 4;//阴影半径,默认3
//加阴影--任海丽编辑 _imageView.layer.shadowColor = [UIColor blackColor].CGColor;//shadowColor阴影颜色 _imageView.layer.shadowOffset = CGSizeMake(4,4);//shadowOffset阴影偏移,x向右偏移4,y向下偏移4,默认(0, -3),这个跟shadowRadius配合使用 _imageView.layer.shadowOpacity = 0.8;//阴影透明度,默认0 _imageView.layer.shadowRadius = 4;//阴影半径,默认3
第二个图片的代码
- _imageView1.layer.shadowColor = [UIColor yellowColor].CGColor;//shadowColor阴影颜色
- _imageView1.layer.shadowOffset = CGSizeMake(0,0);//shadowOffset阴影偏移,默认(0, -3),这个跟shadowRadius配合使用
- _imageView1.layer.shadowOpacity = 1;//阴影透明度,默认0
- _imageView1.layer.shadowRadius = 3;//阴影半径,默认3
- //路径阴影
- UIBezierPath *path = [UIBezierPath bezierPath];
- float width = _imageView1.bounds.size.width;
- float height = _imageView1.bounds.size.height;
- float x = _imageView1.bounds.origin.x;
- float y = _imageView1.bounds.origin.y;
- float addWH = 10;
- CGPoint topLeft = _imageView1.bounds.origin;
- CGPoint topMiddle = CGPointMake(x+(width/2),y-addWH);
- CGPoint topRight = CGPointMake(x+width,y);
- CGPoint rightMiddle = CGPointMake(x+width+addWH,y+(height/2));
- CGPoint bottomRight = CGPointMake(x+width,y+height);
- CGPoint bottomMiddle = CGPointMake(x+(width/2),y+height+addWH);
- CGPoint bottomLeft = CGPointMake(x,y+height);
- CGPoint leftMiddle = CGPointMake(x-addWH,y+(height/2));
- [path moveToPoint:topLeft];
- //添加四个二元曲线
- [path addQuadCurveToPoint:topRight
- controlPoint:topMiddle];
- [path addQuadCurveToPoint:bottomRight
- controlPoint:rightMiddle];
- [path addQuadCurveToPoint:bottomLeft
- controlPoint:bottomMiddle];
- [path addQuadCurveToPoint:topLeft
- controlPoint:leftMiddle];
- //设置阴影路径
- _imageView1.layer.shadowPath = path.CGPath;
_imageView1.layer.shadowColor = [UIColor yellowColor].CGColor;//shadowColor阴影颜色 _imageView1.layer.shadowOffset = CGSizeMake(0,0);//shadowOffset阴影偏移,默认(0, -3),这个跟shadowRadius配合使用 _imageView1.layer.shadowOpacity = 1;//阴影透明度,默认0 _imageView1.layer.shadowRadius = 3;//阴影半径,默认3 //路径阴影 UIBezierPath *path = [UIBezierPath bezierPath]; float width = _imageView1.bounds.size.width; float height = _imageView1.bounds.size.height; float x = _imageView1.bounds.origin.x; float y = _imageView1.bounds.origin.y; float addWH = 10; CGPoint topLeft = _imageView1.bounds.origin; CGPoint topMiddle = CGPointMake(x+(width/2),y-addWH); CGPoint topRight = CGPointMake(x+width,y); CGPoint rightMiddle = CGPointMake(x+width+addWH,y+(height/2)); CGPoint bottomRight = CGPointMake(x+width,y+height); CGPoint bottomMiddle = CGPointMake(x+(width/2),y+height+addWH); CGPoint bottomLeft = CGPointMake(x,y+height); CGPoint leftMiddle = CGPointMake(x-addWH,y+(height/2)); [path moveToPoint:topLeft]; //添加四个二元曲线 [path addQuadCurveToPoint:topRight controlPoint:topMiddle]; [path addQuadCurveToPoint:bottomRight controlPoint:rightMiddle]; [path addQuadCurveToPoint:bottomLeft controlPoint:bottomMiddle]; [path addQuadCurveToPoint:topLeft controlPoint:leftMiddle]; //设置阴影路径 _imageView1.layer.shadowPath = path.CGPath;
ok!
相关推荐
UIView 动画 UIView动画
在iOS开发中,`UIView`是构建用户界面的基础,几乎所有的可见元素都基于它。`UIView`不仅负责绘制和显示内容,还处理用户的交互事件。以下是对标题和描述中涉及的`UIView`知识点的详细解释: 1. **Bounds和Frame的...
.cropping(to: rect) else { return nil } let newImage = UIImage(cgImage: cgImage) return newImage } ``` 这里,`rect`参数是你想要裁剪的区域,它以图像的坐标系为基准。注意,裁剪的坐标原点位于图像左上角...
customView.gradientDirection = .topToBottom // 例如,从上到下的渐变 view.addSubview(customView) ``` 总的来说,实现UIView的渐变效果并不复杂,但封装成易于使用的组件可以使代码更简洁,也方便了开发者快速...
path.addLine(to: CGPoint(x: bounds.maxX, y: bounds.minY)) case .left: path.move(to: CGPoint(x: bounds.maxX, y: bounds.minY)) path.addLine(to: CGPoint(x: bounds.maxX, y: bounds.maxY)) case .right:...
UIView+Extension 对view的一个扩展
UIView的生命周期对于理解iOS应用中视图的加载和管理至关重要。在开发iOS应用时,了解UIView及其子类的生命周期方法,可以让开发者合理地安排资源的分配和释放,优化应用的性能,以及提供更好的用户体验。 首先,...
`UIView AutoLayout`是这个机制的一个扩展,为`UIView`类添加了分类,提供了更加简洁易用的接口来设置自动布局约束。这个压缩包"UIView AutoLayout.zip"包含的项目名为"UIView-AutoLayout-master",很可能是GitHub上...
1. **渲染到图形上下文(Render to Graphics Context)**: 在iOS中,我们可以使用`UIGraphicsBeginImageContextWithOptions`函数来创建一个新的图形上下文。这个上下文可以理解为一个画布,我们可以在上面绘制图像...
【标题】:“UIView镂空”技术详解 在iOS开发中,`UIView`是构建用户界面的基础组件,我们经常需要对其进行各种定制以满足独特的设计需求。其中,“UIView镂空”是一种特殊的视图处理技巧,用于在视图上创建透明...
"uiview随手势旋转"这个主题,就是关于如何利用手势识别来实现UIView的旋转效果。 `KTOneFingerRotationGestureRecognizer`是一个自定义的手势识别类,它是对苹果内置的`UIGestureRecognizer`类的扩展。`...
+ (UIView *_Nullable)az_gradientViewWithColors:(NSArray*> *_Nullable)colors locations:(NSArray*> *_Nullable)locations startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint; - (void)az_...
来源:Licence:BSD平台:iOS设备:iPhone ... 例如,效果图的左边UIView是四周加上黑色半透明阴影,右边UIView是上下边框各加上绿色不透明阴影。 [优才 · Code4App]编译测试,适用环境:Xcode 4.5, iOS 5.0 以上。
在iOS开发中,`UIView`是界面布局中最基础的组件,用于展示各种用户界面元素。`UIView+RectCorner`是一个自定义的类别(Category),它为`UIView`添加了额外的功能,使我们能够轻松地为视图添加圆角,而无需深入到...
在iOS开发中,Swift语言为开发者提供了丰富的工具来创建引人入胜的用户界面,其中自定义UIView动画是一项重要的技术。这篇博客文章“Swift自定义UIView动画”详细讲解了如何利用Swift来实现对UIView的动态效果,使得...
在iOS开发中,UIView是构建用户界面的基本元素,它提供了丰富的功能来展示各种视图内容。本示例“iOS中UIView的翻页动画demo”旨在演示如何为UIView实现逼真的翻页效果,让用户体验如同翻阅实体书页一样的平滑过渡。...
`UIView`是iOS应用开发中的核心组件,它在Objective-C(OC)中扮演着重要的角色。本文将深入探讨`UIView`的基本概念、重要属性、方法以及它在iOS界面构建中的作用。 首先,`UIView`是UIKit框架中的一个基础类,它是...
UIView-Positioning, 在UIView对象中,基于简单属性的框架属性设置 uiview定位收费 UIView Positioning 是一个快速扩展,它提供简单的shorthand 方法,以方便的方式定义任何UIView对象的框架属性( 宽度,高度,x,y ...
在iOS开发中,`UIView`是界面布局和交互的基础组件,它构成了所有用户界面元素的基础。`UIView+Utils`是一个自定义的类别,为`UIView`添加了额外的功能,使得开发者能够更便捷地处理视图的相关尺寸计算和操作。这个...
ShadowView 让你能够轻松在UIView上实现阴影效果