2014-09-04 1 views
0

Я следующий код, чтобы нарисовать горизонтальную линию:Как нарисовать 1px линию с помощью BezierPath

UIBezierPath *topLine = [UIBezierPath bezierPath]; 
    [topLine moveToPoint:CGPointMake(0, topMargin + lineHeight * 2.0f)]; 
    [[self getTopSeparatorLineColor] setStroke]; 
    topLine.lineWidth = 1.0f; 
    [topLine addLineToPoint:CGPointMake(rect.size.width, topMargin + lineHeight * 2.0f)]; 
    [topLine stroke]; 

Он работает, но линия «жир». Я хочу нарисовать линию так же, как разделитель UITableView.

Возможно ли это с UIBezierPath?

+0

Пожалуй '0.5'? 'LineWidth'' 1.0f' (на сетчатых устройствах) шириной в два пикселя. – Rob

+0

Не имеет значения – katit

+0

Должно быть сделано _some_ разницу. лол. 0.25f? – Rob

ответ

1

В компании Apple UIBezierPath Class Reference говорит:

@property (неатомический) CGFloat LineWidth

Ширин линия определяет толщину гладили пути приемника. A ширина 0 интерпретируется как самая тонкая строка, которая может быть отображена на конкретным устройством.

Так просто это сделать, и вы всегда получите ширину 1px:

topLine.lineWidth = 0.0f; 
+0

Пришлось ответить. Просто попробовал это - линия не нарисована вообще. Не в симуляторе, не на реальном устройстве – katit

+0

Конечно. У меня нет возможности попробовать это вчера, но я помню, что это работало в прошлом ... Официальная ссылка Apple сейчас? – SebastianCrow

+0

Кажется, что и есть. Или мои глаза лежат, они не видят линии :) – katit