Одна потенциальная часть проблемы заключается в том, что вы использовали fill
вместо stroke
.
Изменив [path fill]
на [path stroke]
, вы получили бы следующее:
CGPoint origin = CGPointMake(100, 20);
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:origin];
[path addLineToPoint:CGPointMake(origin.x - 10, origin.y - 20)];
[path addLineToPoint:CGPointMake(origin.x - 10, origin.y + 20)];
[[UIColor redColor] set];
// [path fill];
[path stroke];
Это поднимает вопрос о том, что вы имели в виду под точкой origin
. Это действительно будет переводиться в точку стрелки, а не в традиционном понимании того, как используется исходная точка (будет означать верхний левый угол рисуемого объекта).
Если вы хотите сохранить свое значение origin
, вам нужно изменить код следующим образом:
CGPoint origin = CGPointMake(100, 20);
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(origin.x - 20, origin.y - 20)];
[path addLineToPoint:origin];
[path addLineToPoint:CGPointMake(origin.x - 20, origin.y + 20)];
path.lineWidth = 4.0;
[[UIColor redColor] set];
[path stroke];
Или, если вы хотите использовать традиционное значение origin
, вы можете использовать:
CGPoint origin = CGPointMake(100, 20);
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:origin];
[path addLineToPoint:CGPointMake(origin.x + 20, origin.y + 20)];
[path addLineToPoint:CGPointMake(origin.x, origin.y + 20 * 2)];
path.lineWidth = 4.0;
[[UIColor redColor] set];
[path stroke];
Это дает следующее:
person
NSGod
schedule
26.04.2012