iOS 앱에서 아래의 원을 만들려고합니다. 원을 만드는 방법을 알고 있지만 호를 따라 점을 얻는 방법에 대해서는 완전히 확신하지 못합니다. 그것은 이미지가 아닌 코드에 있어야합니다. 아래 코드는 현재 가지고있는 코드입니다. (x, y)는 중심이고, R이 큰 원의 반지름의 중심 인 경우 iOS 그림 서클
- (void)drawRect:(CGRect)rect
{
CGPoint point;
point.x = self.bounds.origin.x + self.bounds.size.width/2;
point.y = self.bounds.origin.y + self.bounds.size.height/2;
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2.0);
CGContextSetStrokeColorWithColor(context, [UIColor blueColor].CGColor);
CGRect circle = CGRectMake(point.x/2,point.y-point.x/2,point.x,point.x);
CGContextAddEllipseInRect(context, circle);
CGContextStrokePath(context);
for (int i = 0; i<8; i++) {
CGRect circleMini = CGRectMake(??????,??????,point.x/4,point.x/4);
CGContextAddEllipseInRect(context, circleMini);
CGContextStrokePath(context);
}
}
는
float cita = 0;
for (int i = 0; i<8; i++) {
CGPoint pointCir = CGPointMake(point.x/2 + radius * cos(cita) , (point.y-point.x/2) + radius * sin(cita));
CGRect circleMini = CGRectMake(pointCir.x,pointCir.y,radius/4,radius/4);
CGContextAddEllipseInRect(context, circleMini);
CGContextStrokePath(context);
cita += M_PI/4.0;
}
. 나는 큰 원을 얻는다. 위의 구현 방법을 알 수 있습니까? 내가 잘못 했니? – BDGapps
cita = M_PI/4가 아닌 cita + = M_PI/4.0을 사용해야하며 구현에 따라 서클의 중심이 아닙니다 (point.x/2, point.y-point.x/2)? – ikaver
위의 코드를 업데이트했지만 동일한 문제가 발생했습니다 – BDGapps