2014-11-09 1 views
0

Я пытаюсь рисовать UIBezierPath для просмотра. Странно, что начинается со смещения 50% от представления.UIBezierPath переместился наполовину в сторону

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; 

Кто-нибудь знает, что я делаю неправильно?

Благодаря

EDIT: Я добавил вызов layoutSubview и переместил смещение от х к у:

enter image description here

ответ

0

Хорошо моя ошибка, что я думал, что UIBezierPath описывает край чертежа. Вместо этого он описывает центр. Так что я изменил мой код:

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

и она работает