-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch=[touches anyObject];
currentPoint=[touch locationInView:self.view];
rootLayer = [CALayer layer];
rootLayer.frame = self.view.bounds;
[self.view.layer addSublayer:rootLayer];
starPath = CGPathCreateMutable();
CGPathMoveToPoint(starPath, NULL, currentPoint.x, currentPoint.y + 15.0);
for(int i = 1; i < 5; ++i)
{
CGFloat x = 15.0 * sinf(i * 4.0 * M_PI/5.0);
CGFloat y = 15.0 * cosf(i * 4.0 * M_PI/5.0);
CGPathAddLineToPoint(starPath, NULL, currentPoint.x + x, currentPoint.y + y);
}
CGPathCloseSubpath(starPath);
shapeLayer = [CAShapeLayer layer];
shapeLayer.path = starPath;
UIColor *fillColor = [UIColor colorWithWhite:0.9 alpha:1.0];
shapeLayer.fillColor = fillColor.CGColor;
[rootLayer addSublayer:shapeLayer];
}
- (void)dealloc {
[imageView release];
CGPathRelease(starPath);
[super dealloc];
}
Quand je suis en cours d'exécution avec l'outil de performance des fuites, il occupe plus de mémoireproblème avec la gestion de la mémoire dans mon code
lors du déplacement iam ....
quoi faire ....
j'ai besoin de dessiner cette forme d'étoile sur des films de touches sur la couche afin que je puisse effectuer des animations plus tard ....
merci pour la relecture .. je l'ai fait de cette façon aussi ... mais toujours dans mes instruments toute augmentation de l'allocation quand je me suis déplacé .... ce n'est pas contrôlé ...... –
@Kiran pourquoi vous avez déclaré Starpath en tant que variable globale? Et la réponse de jer est correcte. Vous avez juste besoin de libérer starpath à l'intérieur des touches a déplacé la méthode elle-même. – Sagar