于Core Graphics對(duì)CGPathRef數(shù)據(jù)類(lèi)型和path繪圖屬性的一個(gè)封裝,所以是需要圖形上下文的(CGContextRef),所以一般UIBezierPath在drawRect中使用。
使用方法
UIBezierPath 是對(duì) CGPathRef 的封裝。創(chuàng)建矢量圖形時(shí),拆解成一或多條線段,拼接起來(lái),每條線段的終點(diǎn)都是下一條線段的起點(diǎn)。
具體地:
1.創(chuàng)建一個(gè) UIBezierPath 對(duì)象
2.用 moveToPoint: 設(shè)置初始線段的起點(diǎn)
3.添加線段,定義一或多個(gè)子路徑
4.修改 UIBezierPath 的繪圖相關(guān)的屬性,比如stroke path的屬性 lineWidth 和 lineJoinStyle ,filled path的屬性 usesEvenOddFillRule
注意:如果是矩形或者圓之類(lèi)的特殊圖形,可以不用第2步。
代碼案例
畫(huà)直線
UIBezierPath *path = [UIBezierPath bezierPath]; [path moveToPoint:CGPointMake(50, 50)]; [path addLineToPoint:CGPointMake(100, 50)];path.lineWidth = 5.0f;path.lineJoinStyle = kCGLineJoinRound; [path stroke];
創(chuàng)建三角形
UIBezierPath *path = [UIBezierPath bezierPath]; [path moveToPoint:CGPointMake(50, 50)]; [path addLineToPoint:CGPointMake(300, 50)]; [path addLineToPoint:CGPointMake(200, 150)]; // 最后的閉合線是可以通過(guò)調(diào)用closePath方法來(lái)自動(dòng)生成的,也可以調(diào)用-addLineToPoint:方法來(lái)添加 // [path&