于Core Graphics對CGPathRef數(shù)據(jù)類型和path繪圖屬性的一個封裝,所以是需要圖形上下文的(CGContextRef),所以一般UIBezierPath在drawRect中使用。
使用方法
UIBezierPath 是對 CGPathRef 的封裝。創(chuàng)建矢量圖形時,拆解成一或多條線段,拼接起來,每條線段的終點都是下一條線段的起點。
具體地:
1.創(chuàng)建一個 UIBezierPath 對象
2.用 moveToPoint: 設置初始線段的起點
3.添加線段,定義一或多個子路徑
4.修改 UIBezierPath 的繪圖相關的屬性,比如stroke path的屬性 lineWidth 和 lineJoinStyle ,filled path的屬性 usesEvenOddFillRule
注意:如果是矩形或者圓之類的特殊圖形,可以不用第2步。
代碼案例
畫直線
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)]; // 最后的閉合線是可以通過調用closePath方法來自動生成的,也可以調用-addLineToPoint:方法來添加 // [path&