【发布时间】:2016-07-03 22:50:08
【问题描述】:
有没有办法将起点从“右”的椭圆形矩形更改为“左”? 似乎无论我如何创建它,“起点”总是在“右侧......
let ovalPath = UIBezierPath(ovalInRect: CGRect(x: 515, y: 276.5, width: 280.5, height: 214.5))
let ovalShapeLayer = CAShapeLayer()
ovalShapeLayer.fillColor = UIColor.clearColor().CGColor
ovalShapeLayer.strokeColor = UIColor.lightGrayColor().CGColor
ovalShapeLayer.lineWidth = 1.5
ovalShapeLayer.path = ovalPath.CGPath
self.view.layer.insertSublayer(ovalShapeLayer, atIndex: 1)
谢谢
【问题讨论】:
-
如果你使用
bezierPathWithArcCenter:radius:startAngle:endAngle:clockwise:,你可以控制开始和结束,所以如果你从-M_PI转到M_PI,它将从左边开始。但这无疑是一个圈子。如果你需要椭圆,从左边开始,那么你要么需要定义你自己的UIBezierPath,要么使用这个例程,但是转换视图/图层以便翻转它。 -
我已经尝试过了,但它什么也没做... let mirrorXorigin = CGAffineTransformMakeScale(-1.0, 1.0) olivePath.applyTransform(mirrorXorigin)
-
shapeLayer 没有 applyTransform
-
对不起。这会引发错误...
标签: ios swift2 uibezierpath