//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 = [UIColor grayColor];
CGContextSetFillColorWithColor(context, grayColor.CGColor);
CGContextFillRect(context, rect);
//设置渐变色
CGColorSpaceRef spaceRef = CGColorSpaceCreateDeviceRGB();
NSArray *colors = @[(__bridge id)[UIColor redColor].CGColor,(__bridge id)[UIColor blueColor ].CGColor];
CGFloat locations[] = {0,1};
CGGradientRef gradientRef = CGGradientCreateWithColors(spaceRef, (__bridge CFArrayRef)(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, [UIColor blackColor].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, [UIColor whiteColor].CGColor);
CGContextSetLineWidth(context, 5);
CGContextStrokeRect(context, tempRect);
}