Implementiert meine eigene DrawRect-Methode und ich versuche, die Form aus einer Controller-Klasse neu zu zeichnen, und ich kann nicht herausfinden, wie setNeedsDisplay korrekt neu zu dem Uiwiew neu zu erstellen. Bitte helfen Sie !!iPhone Programming setNeedsDisplay funktioniert nicht
Ich weiß, dass der Code hässlich ist, aber hier ist die benutzerdefinierte Methode:
- (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);
}
Sorry für die Verwirrung. Ich versuche, die Ansicht von einer anderen Klasse zu aktualisieren, und wenn ich rufe: [pview setNeedsDisplay]; Nichts passiert. Es ist kein Fehler, wenn ich es ausführe, aber es reagiert auch nicht. –