独自のdrawRectメソッドを実装していて、コントローラクラスからシェイプを再描画しようとしていますが、UIViewを再描画するためにsetNeedsDisplayを正しく実装する方法がわかりません。助けてください!!iPhoneプログラミングsetNeedsDisplay not working
私はコードが醜いですが、ここでは独自の方法で知っている:
- (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);
}
混乱して申し訳ありません。私は別のクラスからビューをリフレッシュしようとしています。私が電話すると、私は電話します: [pview setNeedsDisplay]; 何も起こりません。私はそれを実行するとエラーは発生しませんが、どちらも応答しません。 –