于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&
            
    		

    網(wǎng)友評論