Ich habe wie folgt für Halbkreis in iOS mit UIBezierPath und CAShapeLayer codiert.Anfangs- und Endwinkel von UIBezierPath?
clockWiseLayer = [[CAShapeLayer alloc] init];
CGFloat startAngle = -M_PI_2;
CGFloat endAngle = M_PI + M_PI_2;
CGFloat width = CGRectGetWidth(imageView.frame)/2.0f + 30;
CGFloat height = CGRectGetHeight(imageView.frame)/2.0f +50;
CGPoint centerPoint = CGPointMake(width, height);
float radius = CGRectGetWidth(imageView.frame)/2+10;
clockWiseLayer.path = [UIBezierPath bezierPathWithArcCenter:centerPoint
radius:radius
startAngle:startAngle
endAngle:endAngle
clockwise:YES].CGPath;
clockWiseLayer.fillColor = [UIColor clearColor].CGColor;
clockWiseLayer.strokeColor = [UIColor blueColor].CGColor;
clockWiseLayer.borderColor = [UIColor greenColor].CGColor;
clockWiseLayer.backgroundColor = [UIColor redColor].CGColor;
clockWiseLayer.strokeStart = 0.0f;
clockWiseLayer.strokeEnd = 0.5f;
clockWiseLayer.lineWidth = 2.0f;
clockWiseLayer.borderWidth = 5.0f;
clockWiseLayer.shouldRasterize = NO;
[self.layer addSublayer:clockWiseLayer];
Dies ergibt sich wie folgt.
Ich mag diesen blauen Halbkreis auf der gegenüberliegenden Seite der Weltkugel.
Es ist Halbkreis, aber ich will es auf der anderen Seite, auch CounterClockWise.
Ich bin nicht in der Lage, Anfang und Ende Winkel dafür zu setzen, während im Uhrzeigersinn: NO.
Danke.
Haben Sie versucht, nur von M_PI_2 zu starten und M_PI_2 + M_PI zu beenden? –
Ja, das habe ich getan, keine Verwendung. es kommt nicht genau entgegen. –
Was meinst du mit "Ich bin ** nicht in der Lage, Anfang und Ende Winkel dafür zu setzen, während im Uhrzeigersinn: NEIN" Es zeichnet keinen Halbkreis? Es stürzt ab? etwas anderes? – Avt