iOS/OC:Quartz2D绘制带阴影的不规则图形
2016-11-29 本文已影响355人
疯狂的向日葵
版权声明:本文为博主原创文章,未经博主允许不得转载。
有些图是自己可以绘制的,性能也不错,总让UI切图安装包实在略大
下面是一个用Quartz2D绘制不规则图形并添加阴影的示例
示例如下
SharpShadow.h
#import <UIKit/UIKit.h>
@interface SharpShadow : UIView
@end
SharpShadow.m
#import "SharpShadow.h"
@implementation SharpShadow
- (instancetype)initWithFrame:(CGRect)frame{
if (self = [super initWithFrame:frame]) {
self.backgroundColor = [UIColor whiteColor];
}
return self;
}
- (void)drawRect:(CGRect)rect{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetShadowWithColor(context, CGSizeMake(5, 5), 10.0f, [UIColor blueColor].CGColor);//添加阴影
CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
CGContextMoveToPoint(context, 10, 10);
CGContextAddLineToPoint(context, 200, 10);
CGContextAddLineToPoint(context, 200, 50);
CGContextAddArc(context, 200, 80, 30.0f, M_PI*3/2, M_PI/2, YES);
CGContextAddLineToPoint(context, 200, 200);
CGContextAddLineToPoint(context, 10, 200);
CGContextClosePath(context);
CGContextFillPath(context);
[super drawRect:rect];
}
@end
显示结果如下~一张带阴影的卡片
绘制带阴影的不规则图形.png