常遇到绘制一些不规则图,除了跟ui要图,,可以自己绘制。
记录个简单绘制方法:

- (void)setUI
{
UIView * view = [[UIView alloc] initWithFrame:CGRectMake(40, 50, 80, 100)];
view.backgroundColor = [UIColor orangeColor];
[self.view addSubview:view];
view.layer.mask = [self creatMaskLayerWithView:view];
}
- (CAShapeLayer*)creatMaskLayerWithView:(UIView*)view
{
CGFloat viewWidth =CGRectGetWidth(view.frame);
CGFloat viewHeight =CGRectGetHeight(view.frame);
CGFloat rightSpace =10;
CGFloat topSpace =15;
CGPoint point1 =CGPointMake(0,0);
CGPoint point2 =CGPointMake(viewWidth - rightSpace,0);
CGPoint point3 =CGPointMake(viewWidth - rightSpace, topSpace);
CGPoint point4 =CGPointMake(viewWidth, topSpace);
CGPoint point5 =CGPointMake(viewWidth - rightSpace, topSpace +10);
CGPoint point6 =CGPointMake(viewWidth - rightSpace, viewHeight);
CGPoint point7 =CGPointMake(0, viewHeight);
UIBezierPath * path = [UIBezierPath bezierPath];
[path moveToPoint:point1];
[path addLineToPoint:point2];
[path addLineToPoint:point3];
[path addLineToPoint:point4];
[path addLineToPoint:point5];
[path addLineToPoint:point6];
[path addLineToPoint:point7];
[path closePath];
CAShapeLayer * layer = [CAShapeLayer layer];
layer.path= path.CGPath;
return layer;
}
网友评论