如何使用UIBezierPath以一定角度绘制椭圆?

时间:2014-12-11 14:36:34

标签: ios core-graphics quartz-2d uibezierpath ellipse

我使用以下UIBezierPath方法绘制椭圆:

UIBezierPath *bpath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(x, y, width, height)];

这给了我类似下面的内容:

enter image description here

但我想以如下角度绘制椭圆:

enter image description here

我知道一种解决方案是旋转UIView。但我不能这样做,因为同一个视图包含其他bezier路径。所以我想知道是否有办法以某个角度绘制这个椭圆?

1 个答案:

答案 0 :(得分:6)

通常最简单的方法是将其放在CAShapeLayer上,然后旋转图层。对此的数学运算往往非常简单(特别是如果您想稍后更改变换)。但您也可以通过创建旋转变换(CGAffineTransformMakeRotation)并使用-applyTransform:修改路径来直接旋转路径,然后再绘制路径。