Graphics Reference
In-Depth Information
@implementation DrawingView
+ ( Class )layerClass
{
//this makes our view create a CAShapeLayer
//instead of a CALayer for its backing layer
return [ CAShapeLayer class ];
}
- ( void )awakeFromNib
{
//create a mutable path
self . path = [[ UIBezierPath alloc ] init ];
//configure the layer
CAShapeLayer *shapeLayer = ( CAShapeLayer *) self . layer ;
shapeLayer. strokeColor = [ UIColor redColor ]. CGColor ;
shapeLayer. fillColor = [ UIColor clearColor ]. CGColor ;
shapeLayer. lineJoin = kCALineJoinRound ;
shapeLayer. lineCap = kCALineCapRound ;
shapeLayer. lineWidth = 5 ;
}
- ( void )touchesBegan:( NSSet *)touches withEvent:( UIEvent *)event
{
//get the starting point
CGPoint point = [[touches anyObject ] locationInView : self ];
//move the path drawing cursor to the starting point
[ self . path moveToPoint :point];
}
- ( void )touchesMoved:( NSSet *)touches withEvent:( UIEvent *)event
{
//get the current point
CGPoint point = [[touches anyObject ] locationInView : self ];
//add a new line segment to our path
[ self . path addLineToPoint :point];
//update the layer with a copy of the path
(( CAShapeLayer *) self . layer ). path = self . path . CGPath ;
Search WWH ::




Custom Search