たくさんの線を引く必要があります。
線の描画には UIBezierPath を使用し、グラデーションには小さな 5x10 パターン イメージを使用しています。以下はコードの一部です。
l1 = [UIBezierPath bezierPath];
[l1 moveToPoint:CGPointMake(76, 373)];
[l1 addLineToPoint:CGPointMake(940, 373)];
CAShapeLayer *pathLayer = [CAShapeLayer layer];
CGRect pathRect = self.view.frame;
path = l1;
pathLayer.frame = self.view.bounds;
pathLayer.bounds = pathRect;
pathLayer.geometryFlipped = NO;
pathLayer.path = path.CGPath;
pathLayer.strokeColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"line1Pattern.png"]];
pathLayer.fillColor = nil;
pathLayer.lineWidth = 8.0f;
pathLayer.opacity = 1;
[pathLayer setShadowOffset:CGSizeMake(0, 5)];
[pathLayer setShadowOpacity:0.5];
pathLayer.lineCap = kCALineCapRound;
pathLayer.lineJoin = kCALineJoinRound;
[pathArray addObject:pathLayer];
self.pathLayer = pathLayer;
線が(青と赤のように)水平にまっすぐであれば、すべて問題なく、結果は良好です。しかし、傾いた線を描いたり、まっすぐに並べて描いたりすると、結果はうまくいきません。画像へのリンクは次のとおりです: 左側 - 必要なもの、右側 - 結果の結果:例
だから、私が理解しているように、グラデーションを回転させて線に合わせる必要があります。しかし、私はそれを実現する方法を想像できません。
また、一部の線は、次のグラフのようにジグザグ形になる場合があります:例
誰でもこの問題を解決できますか? または、線を引く別の方法を提案してください。ありがとう!