So zeichnen Sie eine einzelne Punktlinie in iOS

Ich habe mich gefragt, wie ich am besten eine einzelne Punktlinie zeichnen kann. Mein Ziel ist es, diese Linie in einer tableViewCell so zu zeichnen, dass sie genau wie das native Zellentrennzeichen aussieht. Ich möchte das native Trennzeichen nicht verwenden, da ich es in einer anderen Farbe und an einer anderen Position (nicht am unteren Rand) erstellen möchte.

Zuerst benutzte ich ein 1px UIView und färbte es grau. Aber in Retina-Displays sieht es aus wie 2px. Auch mit dieser Methode versucht:

- (void)drawLine:(CGPoint)startPoint endPoint:(CGPoint)endPoint inColor:(UIColor *)color {

    CGMutablePathRef straightLinePath = CGPathCreateMutable();
    CGPathMoveToPoint(straightLinePath, NULL, startPoint.x, startPoint.y);
    CGPathAddLineToPoint(straightLinePath, NULL, endPoint.x, endPoint.y);

    CAShapeLayer *shapeLayer = [CAShapeLayer layer];
    shapeLayer.path = straightLinePath;
    UIColor *fillColor = color;
    shapeLayer.fillColor = fillColor.CGColor;
    UIColor *strokeColor = color;
    shapeLayer.strokeColor = strokeColor.CGColor;
    shapeLayer.lineWidth = 0.5f;
    shapeLayer.fillRule = kCAFillRuleNonZero;
    [self.layer addSublayer:shapeLayer];
}

Aus irgendeinem Grund funktioniert es in etwa 60% der Fälle. Stimmt etwas nicht? Auf jeden Fall würde ich mich freuen, von einem besseren Weg zu hören.

Vielen Dank.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage