Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - (void)drawRect:(CGRect)rect {
- CGContextRef context = UIGraphicsGetCurrentContext();
- CGContextSaveGState(context);
- CGContextSetShadow(context, CGSizeMake(-15.0f, 20.0f), 5.0f);
- CGContextSetLineWidth(context, strokeWidth);
- CGContextSetStrokeColorWithColor(context, self.strokeColor.CGColor);
- CGContextSetFillColorWithColor(context, self.rectColor.CGColor);
- CGRect rrect = self.bounds;
- CGFloat radius = cornerRadius;
- CGFloat width = CGRectGetWidth(rrect);
- CGFloat height = CGRectGetHeight(rrect);
- // Make sure corner radius isn't larger than half the shorter side
- if (radius > width/2.0)
- radius = width/2.0;
- if (radius > height/2.0)
- radius = height/2.0;
- CGFloat minx = CGRectGetMinX(rrect);
- CGFloat midx = CGRectGetMidX(rrect);
- CGFloat maxx = CGRectGetMaxX(rrect);
- CGFloat miny = CGRectGetMinY(rrect);
- CGFloat midy = CGRectGetMidY(rrect);
- CGFloat maxy = CGRectGetMaxY(rrect);
- CGContextMoveToPoint(context, minx, midy);
- CGContextAddArcToPoint(context, minx, miny, midx, miny, radius);
- CGContextAddArcToPoint(context, maxx, miny, maxx, midy, radius);
- CGContextAddArcToPoint(context, maxx, maxy, midx, maxy, radius);
- CGContextAddArcToPoint(context, minx, maxy, minx, midy, radius);
- CGContextClosePath(context);
- CGContextDrawPath(context, kCGPathFillStroke);
- CGContextRestoreGState(context);
- }
- view.layer.shadowColor = [UIColor blackColor].CGColor;
- view.layer.shadowOffset = CGSizeMake(0, 0);
- view.layer.shadowRadius = 4;
- view.layer.shadowOpacity = 1;
- view.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect:view.frame cornerRadius:11].CGPath; // make sure you set that for better performance
Add Comment
Please, Sign In to add comment