Core Graghics

来源:互联网 发布:安卓竖屏桌面软件 编辑:程序博客网 时间:2024/05/22 07:06

//UIView需要重绘的时候调用setNeedDisplay即可

//drawRect负责UIView的展示》

// Only override drawRect: if you perform custom drawing.

// An empty implementation adversely affects performance during animation.

- (void)drawRect:(CGRect)rect

{

   //填充

    CGContextRef context =UIGraphicsGetCurrentContext();

    UIColor *grayColor = [UIColorgrayColor];

    CGContextSetFillColorWithColor(context, grayColor.CGColor);

   CGContextFillRect(context, rect);

    //设置渐变色

    CGColorSpaceRef spaceRef =CGColorSpaceCreateDeviceRGB();

    NSArray *colors = @[(__bridgeid)[UIColorredColor].CGColor,(__bridgeid)[UIColorblueColor ].CGColor];

   CGFloat locations[] = {0,1};

   CGGradientRef gradientRef = CGGradientCreateWithColors(spaceRef, (__bridgeCFArrayRef)(colors), locations);

   CGPoint start = rect.origin;

    CGPoint end = CGPointMake(rect.origin.x , rect.origin.y+rect.size.height);

   CGContextDrawLinearGradient(context, gradientRef, start, end, 0);

   CGGradientRelease(gradientRef);

    CGColorSpaceRelease(spaceRef);

    //设置线条

    CGContextSetStrokeColorWithColor(context, [UIColorblackColor].CGColor);

    CGContextSetLineWidth(context, 5);

   CGContextMoveToPoint(context, start.x, start.y);

   CGContextAddLineToPoint(context, end.x, end.y);

    CGContextStrokePath(context);

    //设置边框

   CGRect tempRect = CGRectInset(rect, 5, 5);

    CGContextSetStrokeColorWithColor(context, [UIColorwhiteColor].CGColor);

    CGContextSetLineWidth(context, 5);

   CGContextStrokeRect(context, tempRect);

}

原创粉丝点击