Search code examples
iosobjective-cios7shapesuibezierpath

How to create a WaterDrop Shape with UIBezierPath


I write some code for creating the below with UIBezierPath but it didn't work. Can someone help me what's wrong with my code.

but i was tried with drawRect: it works fine....My problem is same i need in UIBezierPath as,

+ (UIBezierPath *)DropShape:(CGRect)Frame {}

my code using drawRect: is

CGContextRef context = UIGraphicsGetCurrentContext();
CGGradientRef gradient;
CGColorSpaceRef colorspace;
CGFloat locations[3] = { 0.0, 0.5, 1.0 };

NSArray *colors = @[(id)[UIColor redColor].CGColor];

colorspace = CGColorSpaceCreateDeviceRGB();

gradient = CGGradientCreateWithColors(colorspace,
                                      (CFArrayRef)colors, locations);

CGPoint startPoint, endPoint;
CGFloat startRadius, endRadius;

startPoint.x = self.frame.size.width/2;
startPoint.y = 30;
endPoint.x = 175;
endPoint.y = 175;
startRadius = 0;
endRadius = 75;

CGContextDrawRadialGradient(context, gradient, startPoint,
                            startRadius, endPoint, endRadius, 0);

Thanks in advance...Screen


Solution

  • There is an app called PaintCode which you can try for free.

    You can draw onto a canvas and it will produce the drawRect code that you can copy and paste into your app.

    I don't think you can copy from the trial version but it will create the path which you can type into your code manually.

    It's worth a look.