J'ai implémenté ma propre méthode drawRect et j'essaie de redessiner la forme à partir d'une classe Controller et je n'arrive pas à comprendre comment implémenter correctement setNeedsDisplay pour redessiner l'UIView. S'il vous plaît aider !!iPhone Programmation setNeedsAffichage ne fonctionne pas
Je sais que le code est laid, mais voici la méthode personnalisée:
- (void)drawRect:(CGRect)rect{
// Drawing code
NSArray *kyle = [self pointsForPolygonInRect:rect numberOfSides:[pshape numberOfSides]];
CGContextRef c = UIGraphicsGetCurrentContext();
int counter = [kyle count];
NSLog(@"counter: %d",counter);
int i = 0;
BOOL first = YES;
NSValue *kylevalue;
CGPoint thePoint;
for (i = 0; i < counter; i++) {
kylevalue = [kyle objectAtIndex:i];
thePoint = [kylevalue CGPointValue];
if (first) { //start.
CGContextMoveToPoint(c, thePoint.x, thePoint.y+5.0);
first = NO;
} else { //do the rest
CGContextAddLineToPoint(c, thePoint.x, thePoint.y+5.0);
}
}
CGContextClosePath(c); //solid color
CGContextDrawPath(c, kCGPathFillStroke);
}
Désolé pour la confusion. J'essaye d'actualiser la vue d'une autre classe et quand j'appelle: [pview setNeedsDisplay]; Rien ne se passe. Il ne se trompe pas quand je l'exécute, mais il ne répond pas non plus. –