2014-09-04 48 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'? 「1.0f」的「lineWidth」(在視網膜設備上)寬度爲兩個像素。 – Rob 2014-09-04 15:53:52

+0

不會有什麼區別 – katit 2014-09-04 15:58:25

+0

應該有所作爲_some_區別。大聲笑。 0.25F? – Rob 2014-09-04 17:05:48

回答

1

作爲蘋果UIBezierPath類參考說:

@屬性(非原子)CGFloat的的lineWidth

線寬定義接收機的描邊路徑的厚度。 A 的寬度被解釋爲可以在特定設備上呈現的最薄線。

所以,簡單地做到這一點,你總是會得到1px的寬度:

topLine.lineWidth = 0.0f; 
+0

必須採取答案。剛剛嘗試過這一行,根本沒有繪製。不在模擬器中,不在真實設備上 – katit 2014-09-04 21:00:48

+0

當然。我沒有機會在昨天自己嘗試一下,但我記得它在過去有效......現在蘋果官方的參考依據是? – SebastianCrow 2014-09-05 05:40:14

+0

看起來像它一樣。或者我的眼睛躺着,他們看不到線:) – katit 2014-09-05 16:25:06