Tôi đang cố gắng tạo vòng kết nối bên dưới trong ứng dụng iOS của mình. Tôi biết làm thế nào để làm cho các vòng tròn nhưng không hoàn toàn chắc chắn về cách để có được những điểm dọc theo vòng cung. Nó phải có trong mã không phải là một hình ảnh. Dưới đây cũng là mã tôi hiện đang có.Vòng tròn vẽ 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);
}
}
CẬP NHẬT để trả lời
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;
}
Nó không hoạt động. Tôi chỉ nhận được vòng tròn lớn. Bạn có thể thấy cách tôi thực hiện nó ở trên không. Tôi đã làm điều đó sai? – BDGapps
Bạn nên sử dụng cita + = M_PI/4.0, không phải cita = M_PI/4 và theo triển khai của bạn, không phải là trung tâm của vòng kết nối của bạn (point.x/2, point.y-point.x/2)? – ikaver
Tôi đã cập nhật mã ở trên nhưng cùng một vấn đề – BDGapps