그리기 캔버스에서 손가락을 드래그하여 쉐브론 패턴 (기본적으로 지그재그 라인)을 그리려합니다. 그래서 라인은 Y 금액을 올린 다음 Y 금액을 반복합니다. 나는이 일을하는 가장 좋은 방법이 궁금합니다. 지금까지 웨이브에서 1 섹션을 생성 한 다음 변경 가능한 경로에 추가 한 다음 새 경로를 표시합니다. 지그재그 방식이 여기에 그려지는 방식으로 작동하는 것이 좋습니다. seamless lite 여기에 제 코드가 있습니다. 분명히 부품이 누락 될 수 있지만 그림이 표시 될 수 있도록 다른 곳에 있습니다.iOS 손가락 슬라이드로 갈매기 모양을 그리십시오.
왼쪽에서 오른쪽으로 손가락을 밀면 특정 거리 값에 도달하면 지그재그 부분이 그려지는 현상이 일어나고 있습니다. 그것은 그림을 깜박이고 사라질 것입니다. 이 시점에서 나는 선들이 그곳에 머물러 있기를 원하기 때문에 내가 선택한 거리에 따라 지그재그 패턴을 계속 추가 할 수 있습니다. 손가락을 계속 움직이면 같은 거리에 도달 한 후 다시 나타나고 그 값을 남긴 직후 사라집니다.
홈페이지 무승부 :
이- (void)draw
{
CGContextRef context = UIGraphicsGetCurrentContext();
// set the line properties
CGContextSetStrokeColorWithColor(context, self.lineColor.CGColor);
CGContextSetLineWidth(context, self.lineWidth);
CGContextSetAlpha(context, self.lineAlpha);
CGContextAddPath(context, [self drawChevronFromOrigin:CGPointMake(self.firstPoint.x, self.firstPoint.y)]);
CGContextStrokePath(context);
}
그리기 지그재그 새로운 경로 반환 :
- (CGMutablePathRef)drawChevronFromOrigin:(CGPoint)origin
{
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, nil, origin.x, origin.y);
if (fmodf(self.lastPoint.x - origin.x, 50) == 0)
{
// Add new chevron wave to specific point
CGPathAddPath(path, nil, [self drawChevronWaveToPoint:CGPointMake(self.lastPoint.x, self.lastPoint.y)]);
}
return path;
}
각 지그재그 그리는 방법을 :
- (CGMutablePathRef)drawChevronWaveToPoint:(CGPoint)point
{
// Creates one wave in the chevron pattern
CGMutablePathRef chevronWave = CGPathCreateMutable();
CGPathMoveToPoint(chevronWave, nil, point.x, point.y);
CGPathAddLineToPoint(chevronWave, nil, point.x + 25, point.y+25);
CGPathAddLineToPoint(chevronWave, nil, point.x + 50, point.y-25);
CGPathAddLineToPoint(chevronWave, nil, point.x + 75, point.y+25);
return chevronWave;
}
에 오신 것을 환영합니다 SO! 코드에 잘못된 점이있을 때 더 많은 컨텍스트를 제공 할 수 있습니까? 너는 네가 좋아하는 것이 아닌 일을 설명하지 않았다. – Derek
@ jordan 해결책을 찾았습니까? 그렇다면 대답을 게시하고 수락하십시오. 나는 또한 CG 방식으로 접근 방식을 찾고있다. 감사합니다 – DivineDesert
우리는 패턴을 대화식으로 그리는 대신 다른 방식으로 그리는 중입니다. –