0
Мой текущий код Obj-C:Вопросы Obj-C рисуя линию между двумя точками
- (void)slopeMode:(CGPoint)point{
if (dPoint1.x != -1) //If a coordinate pos has already been set for dPoint1
{
dPoint2 = point; //Then set it in dPoint2 instead
[cPath moveToPoint: CGPointMake(dPoint1.x-5,dPoint1.y-5)];
[cPath addLineToPoint:CGPointMake(dPoint2.x-5,dPoint2.y-5)];
[cPath moveToPoint:CGPointMake(dPoint2.x-5,dPoint2.y-5)];
[cPath addArcWithCenter:CGPointMake(dPoint2.x-5,dPoint2.y-5) radius:10 startAngle:0 endAngle:DEGREES_TO_RADIANS(360) clockwise:YES];
[cPath closePath];
[[UIColor greenColor] setStroke];
[[UIColor greenColor] setFill];
[cPath fill];
[cPath stroke];
gfxP1.path = [cPath CGPath];
gfxP1.fillColor = [[UIColor greenColor] CGColor];
gfxP1.lineWidth = 4.0;
[[wBView layer] addSublayer:gfxP1];
rSlope = [self calcSlope:dPoint1 :dPoint2];
[self callAlert:@"Slope Calculation" :[NSString stringWithFormat:@"%.*f",precision,rSlope] :@"OK"];
//Reset datapoints
[self resetDPoint:&dPoint1];
[self resetDPoint:&dPoint2];
//Reset gfx
//[self resetCALayer:gfxP1];
//[self resetCALayer:gfxP2];
//Reset other vars
cSlope = -1;
rSlope = -1;
tempFStore = @"";
}
else
{
dPoint1 = point;
cPath = [UIBezierPath bezierPathWithArcCenter:CGPointMake(dPoint1.x-5,dPoint1.y-5) radius:10 startAngle:0 endAngle:DEGREES_TO_RADIANS(360) clockwise:YES];
}
}
Моя проблема заключается в том, что я в состоянии отобразить мои две точки в пределах моего объекта UIView, но линии я пытаюсь добавьте, что соединения этих двух точек вместе не создаются или отображаются неправильно. Вот то, что я вижу в IPhone Simulator, используя приведенный выше код:
см по этой ссылке, вы можете получить представление о http://stackoverflow.com/questions/8208469/draw-line-between-two-points-in-iphone и http://stackoverflow.com/questions/31775194/создать трёхлинейное расширение-для-заданной линии, сотворено по-пользователь –