iOS 7. CGContextSetRGBStrokeColor 값이 다른 경우 두 원이 모두 녹색 인 이유는 무엇입니까? 마지막 색깔이 두 경로로 설정되어있는 것을 볼 수 있습니다 ... 왜 그런가요? 어떻게 각 경로를 다르게 색칠합니까?CGPathAddEllipseInRect 항상 마지막 색
- (void)drawRect:(CGRect)rect{
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGMutablePathRef centerCirlce = CGPathCreateMutable();
//circle 1
CGContextBeginPath(ctx);
CGContextSetRGBStrokeColor(ctx, 1, 0.56f, 0.19f, 1);
CGContextSetRGBFillColor(ctx, 1.0, 1.0, 1.0, 1.0);
CGPathAddEllipseInRect(centerCirlce, NULL,CGRectMake(100, 100, 10, 10));
CGContextAddPath(ctx, centerCirlce);
CGContextClosePath(ctx);
CGContextStrokePath(ctx);
//circle 1
CGContextBeginPath(ctx);
CGContextSetRGBStrokeColor(ctx, 0.36f, 0.74f, 0.32f, 1);
CGContextSetRGBFillColor(ctx, 1.0, 1.0, 1.0, 1.0);
CGPathAddEllipseInRect(centerCirlce, NULL,CGRectMake(200, 200, 10, 10));
CGContextAddPath(ctx, centerCirlce);
CGContextClosePath(ctx);
CGContextStrokePath(ctx);
}
죄송합니다. 해당 코드는 읽기가 어렵습니다. 서로 다른 색상에 관한 질문과 관련이없는 모든 것을 제거하도록 코드를 단순화 할 수 있습니까? 내가 볼 수있는 유일한 점은 색상이 하드 코딩되어 있다는 것입니다. 다른 색상 위에 한 가지를 그리는 것이 아니라고 확신합니까? –
간체, 테스트 됨. 두 개의 녹색 동그라미입니다. 그러나 녹색은 마지막 서클의 색상입니다. 왜 둘 다 같은 색깔을 가지고 있습니까? –