UIBezierPath移动了一半

时间:2014-11-09 12:26:11

标签: ios uibezierpath

我正在尝试将UIBezierPath绘制到视图中。奇怪的是,它以50%的视角偏移开始。

enter image description here

灰色部分是视图,线条是我正在绘制的。

这是我的代码:

lineLayer.bounds = CGRectMake(0, 0, self.bounds.width, self.bounds.height);

lineLayer.strokeColor = UIColor.blackColor().CGColor
lineLayer.lineDashPattern = [3, 2, 1, 2, 1, 2, 1, 2, 1, 2]
lineLayer.lineWidth = lineLayer.bounds.height

var linePath = UIBezierPath()
linePath.moveToPoint(CGPointMake(0, CGRectGetMaxY(lineLayer.bounds)))
linePath.addLineToPoint(CGPointMake(CGRectGetMaxX(lineLayer.bounds), CGRectGetMaxY(lineLayer.bounds)))
lineLayer.path = linePath.CGPath;

有谁知道我做错了什么?

由于

编辑:我添加了对layoutSubview的调用,它将偏移量从x移动到y:

enter image description here

1 个答案:

答案 0 :(得分:0)

好吧我的错误是,我认为UIBezierPath描述了绘图的边缘。相反,它描述了中心。所以我把代码改为:

linePath.moveToPoint(CGPointMake(0, CGRectGetMidY(lineLayer.bounds)))
linePath.addLineToPoint(CGPointMake(CGRectGetMaxX(lineLayer.bounds), CGRectGetMidY(lineLayer.bounds)))

并且有效