2013-06-03 5 views
0

직선을 먼저 그리는 앱용 도구를 만들고 싶습니다. 두 번째 터치 및 이동 사용자가 조정 가능한 곡선을 만들 수 있습니다. 그래서 사용자가 두 번째로 터치하고 이동할 때 곡선 중간 점을 설정하는 것이 좋습니다.직선을 그리고 곡선을 그리는 선을 만듭니다.

그리고 두 번째 터치를 확인하고 이전 경로로 작업하는 방법을 알지 못합니다.

이 방법은 간단한 선을 그리는 데 사용합니다.

고맙습니다!

- (void)setInitialPoint:(CGPoint)firstPoint 
{ 
self.firstPoint = firstPoint; 
//[self moveToPoint:firstPoint]; //add yourStartPoint here 
///[self addLineToPoint:endPoint]; 
} 

- (void)moveFromPoint:(CGPoint)startPoint toPoint:(CGPoint)endPoint 
{ 
self.lastPoint = endPoint; 

    // [self addLineToPoint:self.lastPoint];// add yourEndPoint here 

}

- (void)draw { 
    UIBezierPath *path = [UIBezierPath bezierPath]; 
//draw a line 

[path moveToPoint:self.firstPoint]; //add yourStartPoint here 
[path addLineToPoint:self.lastPoint];// add yourEndPoint here 

[self.lineColor setStroke]; 

[path setLineWidth:3.0]; 

[path stroke]; 
} 

답변

3

두 번째 터치 - 당신의 상태를 추적 할 수있는 변수를 누릅니다.

곡선 - 경로를 변경하지 말고 첫 번째 줄의 시작과 끝을 사용하고 사용자가 터치 포인트를 이동할 때 그릴 UIBezierPath을 만듭니다. 베 지어를 시작점으로 이동 한 다음 끝점과 현재 터치 위치를 사용하여 addCurveToPoint:controlPoint1:controlPoint2:을 사용합니다.

정말 재미있게하려면 두 번째 줄을 그리는 동안 두 손가락으로 터치 할 수있게 한 다음 두 컨트롤 포인트에 대한 값을가집니다.

+0

감사합니다 아주 간단한 방법으로 베 지어 곡선의 본질을 이해 , @Wain. 그냥 터치를 추적하는 방법을 알아야합니다. 다른 악기 (파선, 화살표와 같은)가 있고 그 (것)들을 위해 나는 다만 1 개의 접촉을 필요로한다. –

+0

UIGestureRecofnizer 또는 UIView (touchesBegan :). – Wain

0

만약 당신이 라인의 중간 점을 가지고 바이올린을해야한다면, 2 차 곡선 대신에 하나의 제어점만을 가지기 때문에 2 차 곡선을 학습하면됩니다. 첫번째로주의 깊게 큐어 블의 특성을 관찰하고 (이 경우) (차 또는 베 지어) 제어 POINT1을 조정, CP2 선택에, 다음 링크가 도움이 될 것입니다 시작과 끝 지점 당신은 link

+0

모두에게 감사드립니다! 난 그냥 저장소 경로를 기울이지 않아 라인이 두 손가락으로 커브를 변경 그려진 후! 나는 새로운 것을 개발하고 있으며 코드 조각이 필요합니다. 보통 작은 조각의 코드에서만 이해할 수 있습니다.)))) 죄송합니다! –